rsync - copie robuste des fichiers
Table des matières
Rsync permet de copier des fichiers en local ou en distance. Son algorithme de copie permet de réaliser des copies de backup, du mirroring et des copies standards.
Rsync fonctione sur le schéma rsync <options> <source> <destination>
L'option -P (association de –progress et –partial) est utilisée dans les commandes suivantes afin de pouvoir reprendre un transfert de fichier si le précédent a été interrompu et afficher à l'écran la progression des fichiers.
L'option -v permet d'afficher des informations détaillées à l'écran.
L'option -h permet de simplifier l'affichage des tailles d'octets en ko, Mo, Go ….
1. Copier un dossier et son contenu
rsync -avP src/bar /data/tmp
Copie les fichiers et sous-dossiers de src/bar
dans le dossier /data/tmp/bar
en préservant liens symboliques, attributs, permissions, propriétaires….
Il s'agit de l'option -a
qui permet d'archiver. Une archive permet sur la destination de :
- créer un fichier ou un dossier
- modifier le contenu d'un fichier
Les fichiers ou dossier supprimés dans la source, ne seront pas modifié dans la destination.
Syntaxe sur la source quant il s'agit d'un dossier
Ne pas confondre src/bar
et src/bar/
.
rsync -avz src/bar/ /data/tmp
copie le contenu de src/bar/
dans /data/tmp
.
rsync -avz src/bar /data/tmp
copie le contenu de src/bar/
dans /data/tmp/bar
. Le dossier /data/tmp/bar
sera créé.
2. Copier un dossier et son contenu avec archive des fichiers supprimés
rsync -avP \ --delete --backup_dir=/data/tmp_backup \ src/bar /data/tmp
Copie les fichiers et sous-dossiers de src/bar
dans le dossier /data/tmp/bar
, et en supprimant les fichiers dans /data/tmp/bar
qui ne sont pas présent dans src/bar
.
L'option –delete
suprimer les fichiers dans la destination, alors qu'ils ne sont pas présent dans la source. En complément l'option –backup_dir
déplace les fichiers supprimés dans un autre dossier.
3. Sauvegarder sur NAS
Faut-il copier de l'ordinateur vers le NAS, ou copier depuis le NAS ? En d'autres termes, faut-il autoriser le NAS à se connecter sur l'ordinateur ou autoriser l'ordinateur à accéder au NAS ? La question se pose en terme de droits d'accès.
En autorisant l'ordinateur à accéder au NAS, j'autorise tous les programmes s'exécutant sur cet ordinateur à accéder aux fichiers du NAS. Les logiciels malveillants utilsent cette technique pour modifier ou supprimer les sauvegardes.
En autorisant le NAS à accéder aux ordinateurs, je concentre le pouvoir d'accès à tous les fichiers à une entité, le NAS. C'est génant. De surcroit, il faudra veiller que lorsque l'ordinateur n'est pas accessible, de ne pas enclencher la suppression des fichiers.
La bonne réponse est de copier de l'ordinateur vers le NAS. En effet, la connexion au NAS s'effectura avec un compte qui n'aura accès qu'à ses fichiers.
Voici un exemple de copie de l'ordinateur vers le NAS.
1. Copier la clé de l'administrateur du NAS vers le compte root du PC distant.
2. Exécuter depuis le NAS le script ci-dessous.
dskval001
est le poste où se trouve le dossier à sauvegarderroot
est administrateur du poste dskval001sauvegarde
est le dossier de sauvegarde/home/valentin
est le dossier à sauvegarder sur le poste dskval001
rsync --delete -az -e ssh root@dskval001:/home/valentin/ /media/disk_21/valentin/sauvegarde
4. Divers
Mettre à jour :
rsync -ruP --del --force\ --log-file=/root/famille.log\ --ignore-errors\ --filter="merge /root/rsync_exclusion" \ /run/media/gerard/home/famille /media/backup
- sync_exclusion
- tmp - .Trash/ - .rsync-filter - .cache/ - *.bak - log - photos/thumb - lost+found/ - *~ - .*