Projet

Général

Profil

Evolution #3445

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

Ajouté par Nicolas ROBIN il y a presque 12 ans. Mis à jour il y a presque 12 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
Début:
09/05/2012
Echéance:
% réalisé:

100%

Temps estimé:
0.50 h
Temps passé:
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...


Demandes liées

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

Révisions associées

Révision a3a88aaf (diff)
Ajouté par Joël Cuissinat il y a presque 12 ans

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

Révision 0052787f (diff)
Ajouté par Joël Cuissinat il y a presque 12 ans

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

Révision 6d67acb3 (diff)
Ajouté par Joël Cuissinat il y a presque 12 ans

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

Historique

#1 Mis à jour par Joël Cuissinat il y a presque 12 ans

  • Statut changé de Nouveau à Accepté
  • Assigné à mis à Joël Cuissinat
  • Temps estimé mis à 0.50 h

#2 Mis à jour par Joël Cuissinat il y a presque 12 ans

  • Statut changé de Accepté à Résolu
  • % réalisé changé de 0 à 100

#3 Mis à jour par Joël Cuissinat il y a presque 12 ans

  • Statut changé de Résolu à Fermé

script modifié et publié le 21.05.2012

#4 Mis à jour par Nicolas ROBIN il y a presque 12 ans

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

Formats disponibles : Atom PDF