Rsync
Révision datée du 11 juin 2009 à 18:04 par imported>SylvainBeucler (Nouvelle page : rsync synchronise unidirectionnellement un dossier source et un dossier de destination. == sauvegarde == Options à utiliser: -vHS --delete-excluded --numeric-ids --exclude="..." ...)
rsync synchronise unidirectionnellement un dossier source et un dossier de destination.
sauvegarde
Options à utiliser:
-vHS --delete-excluded --numeric-ids --exclude="..." ...
Optionnellement: -A (acl) et -X (attributs étendus)
--delete
Version 2: synonyme de --delete-before Version 3: synonyme de --delete-during / --del
- --delete-before est un algorithme en 2 passes, supprime d'abord, copie ensuite
- --delete-during est un algorithme en 1 passe, supprime au fur et à mesure
- --delete-after est un algorithme en 2 passes, copie d'abord, efface ensuite
En cas d'erreur: la suppression des fichiers est annulée:
- --delete-before: suppression dans tous les cas
- --delete-during: suppression partielle
- --delete-after: aucune suppression
Qu'est-ce qu'une erreur:
chmod 0
sur un répertoire (arrêt des suppressions non justifié)- une erreur disque (arrêt des suppressions justifié)
Ne pas confondre avec d'autres erreurs non critiques (cf. section "Code de retour Unix")
Forcer la suppression: --ignore-errors
Mode de comparaison
- Par défaut: taille et date de dernière modification
- Avec --checksum: utilisation d'une somme de contrôle (plus lent) - mais ce n'est PAS fait dans le cas courant
backuppc utilise --checksum-seed=XXXX avec XXXX constant pour améliorer les performances
Code de retour Unix
En cas d'erreur, le code n'est pas 0. Qu'est-ce qu'une erreur dans ce cas:
- le ficher a changé pendant la sauvegarde (ex: fichier de log)
- un fichier a disparu pendant la sauvegarde (ex: fichier de cache): some files vanished before they could be transferred (code 24)
- erreur de permission: some files could not be transferred (code 23)
- une erreur critique (cf. section "--delete"): IO error encountered -- skipping file deletion + code 23 ci-dessus
Simulation fichier qui disparaît:
term1$ mkdir a b term2$ while true; do i=$(($RANDOM / 6553)); rm -f $i; i=$(($RANDOM / 6543)); touch $i; done term1$ rsync -avHS a/ b/; echo $?
Simulation erreur de lecture fichier:
chmod 0 fichier
Similation erreur critique:
chmod 0 dossier/