Project

General

Profile

Evolution #3445

migration23.sh : evolution sur le rsync de savescribedata()

Added by Nicolas ROBIN over 9 years ago. Updated over 9 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Target version:
Start date:
05/09/2012
Due date:
% Done:

100%

Estimated time:
0.50 h
Spent time:
Distribution:
EOLE 2.2

Description

Demande concernant la fonction savescribedata()

Sur une migration, que nous avions lancé le soir avant l'intervention, nous sommes tombé sur une la sauvegarde stoppé le matin à la fin de /home/a/* , le rsync ayant rencontré un fichier qu'il n'a pas réussi à copier.

J'ai utilisé le script migration23.sh sans sauvegarder /home, tout c’est bien passé jusqu'au bout.
J'ai ensuite mis dans un script à part le rsync de /home :

root@ng371378:~# more rsync.sh
for abc in `find /home -maxdepth 1 -name '?' | sort`;do
echo -n "."
rsync -cav --log-file /tmp/rsync.log --exclude=MailDir \
--exclude=IntegrDom --exclude=.scanned* $abc "/media/migration/home" >/dev/null
testcmd $? "Erreur lors de la sauvegarde des données, consulter le fichier $RSYNC_LOG"
done

J'ai rien changé à part l'exclude des .scanned pour gagner un peu de temps.

La en fait, à chaque dossier de fin de lettre ('a','b'...), le rsync retourne une erreur, et dans mon script de test la fonction testcmd forcément "bug" car je ne l'ai pas inclue.

Cela semble vouloir dire qu'en fait, ce n'est pas le rsync qui quitte, mais la fonction "testcmd" qui fait quitter la boucle for, car rsync rencontre un fichier qu'il ne peut copier, comme celui-ci :

..rsync: mkstemp "/media/migration/scribe-0371378X/home/a/annie.parot/perso/Réseau/sauvegardebcdiserv/data/.Autorite.txt.QWVrRz" failed: No such file or directory (2)

Donc deux demandes :
*Ne peut t’on pas dans le rsync exclure le ".scanned", je ne pense pas que cela ait par la suite des effet indésirable et fait gagner du temps sur les serveurs peu rapide.
*N'y a t-il pas moyen de modifier la fonction "testcmd" pour qu'elle notifie simplement l'erreur sans faire quitter la boucle for, car de mon point de vue, le fait que le rsync puisse se faire jusqu'au bout avec dans le fichier de log les erreurs rencontrés est plus pertinent.
Car en cas d'arrêt, l'intervention prévu sur place dans le collège se retrouve bloqué, les données mettant souvent beaucoup de temps à être sauvegardés sur les anciens scribes...


Related issues

Precedes creole - Anomalie #3773: migration23.sh destination du rsync de savescribedata() Fermé 07/06/2012

Associated revisions

Revision a3a88aaf (diff)
Added by Joël Cuissinat over 9 years ago

  • migration23.sh : exclusion des .scanned lors du rsync des rép perso
    Ref #3445 @10m

Revision 0052787f (diff)
Added by Joël Cuissinat over 9 years ago

  • migration23.sh : suppression du exit en cas d'erreur lors de la sauvegarde (rsync)
    Fixes #3445 @15m

Revision 6d67acb3 (diff)
Added by Joël Cuissinat over 9 years ago

  • migration23.sh : masquer les erreurs de restoration d'acl sur des .scanned
    => VERSION : "20120521"
    Ref #3445 @10m

History

#1 Updated by Joël Cuissinat over 9 years ago

  • Status changed from Nouveau to Accepté
  • Assigned To set to Joël Cuissinat
  • Estimated time set to 0.50 h

#2 Updated by Joël Cuissinat over 9 years ago

  • Status changed from Accepté to Résolu
  • % Done changed from 0 to 100

#3 Updated by Joël Cuissinat over 9 years ago

  • Status changed from Résolu to Fermé

script modifié et publié le 21.05.2012

#4 Updated by Nicolas ROBIN over 9 years ago

Le répertoire de destination du rsync est "/media/migration/home", ce qui pose problème car la fonction de restauration restorescribedata() effectue un rsync sur :

rsync -cav --log-file $RSYNC_LOG --ignore-existing "$1/home/" /home/ >/dev/null

Il faudrait donc passer la destination du rsync de la fonction savescribedata() sur "$1/home/" :

--exclude=IntegrDom --exclude=.scanned* $abc "$1/home" >/dev/null

Also available in: Atom PDF