Bonjour,
plutôt que cp, j’ai utilisé rsync -rv pour un réaliser un backup audio et vidéo
de ~2To vers un disque externe. Seul le contenu m’intéressait, je n’ai donc pas
préservé les propriétaires ni les permissions avec l’option -a.
Attention cependant. Il faut penser alors à ajouter l’option -t (qui est
normalement implicite quand on utilise -a), sinon les fichiers sont copiés sur
la cible avec la date du jour, et non la date de dernière modification qu’ils
possèdent sur la source. J’avais d’abord pensé que ça n’avait pas d’importance
dans mon cas, puisque seul le contenu m’était utile.
Mais l’importance existe pour rsync lui-même. Si les dates de dernières
modification ne concordent pas sur la source et la cible, à la prochaine
sauvegarde incrémentale, rsync -rv --del va considérer tous les fichiers comme
ayant été modifiés. rsync recopiera alors la totalité des 2To fichier par
fichier (pour lui tout a changé), et il n’y aura plus rien d’incrémental.
Si on se trouve confronté à ce problème, il est possible de débrayer la
vérification sur horodatage, pour que rsync se contente de vérifier la
concordance de taille, pour juger si un fichier a changé ou non. Mais c’est
dommage d’affaiblir ainsi la fiabilité du backup.
Dans mon cas, j’ai juste relancé une nouvelle sauvegarde avec rsync -rvt --del
vers la même cible, et elle a écrasé en totalité la première. Ce n’est pas
élégant, mais maintenant les dates concordent et la prochaine sauvegarde sera
incrémentale.
Un ami m’a donné le conseil suivant, que je n’ai pas suivi mais que je partage
avec vous: avant d’ordonner la sauvegarde incrémentale avec rsync -rv --del, il
m’aurait été possible de rectifier d'abord les dates sur le volume cible, grâce
à find associé à touch:
find . -type f -exec touch -m -r {} ../cible/{} \;
où le répertoire courant « . » est la racine de la source et ../cible/ est le
point de montage de la cible. find va alors parcourir tous les fichiers sous le
répertoire courant, et touch va appliquer dans l'arborescence sous "../cible/"
la date de modification (-m) qui correspond au fichier correspondant dans le
répertoire courant.
À vérifier d’abord avec un test à blanc me dit mon ami:
find . -type f -exec echo touch -m -r {} ../cible/{} \;
Si ça peut être utile à quelqu’un ici.
--
Frédéric Dumas
[email protected]
_______________________________________________
gull mailing list
[email protected]
https://forum.linux-gull.ch/mailman/listinfo/gull