Rsync, la copie de fichier magique

Un man rsync permet de tirer profit de la puissance de l'outil. Utilisable sur l'ordi (alternative à cp) et à distance.

La commande qui va bien :

rsync -Pha --delete-after source/ destination/
  • -P : progression globale du transfert
  • -h : human readeable, pour afficher des chiffres lisibles
  • -a : archive mode. Equals -rlptgoD (no -H,-A,-X), donc récursif, copie les symlinks de la même façon, préserve les permissions, la date de modification, les groupes, les propriétaires et --devices --specials. C'est assez complet.
  • -s : empêche les interprétations de caractères dans les noms de fichiers sauf le joker *
  • --delete-after : à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source.

En ligne, ajouter -z pour comprimer les data. Le nom du serveur est suivi de deux points. Si l'hostname est entré dans .ssh/config (plus simple pour gérer port et utilisateur) :

rsync -Phaz hostname:source/ destination/

Si une erreur du type IO error encountered -- skipping file deletion apparait, c'est possiblement parce que rsync a rencontré des fichiers sur lesquels ils n'avait pas le droit d'agir ; du coup il s'arrête avant de détruire les fichiers disparus. Pour passer outre, ajouter --ignore-errors :

rsync -Pha --delete-after --ignore-errors source/ destination/
CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki
pratique/informatique/rsync.txt · Dernière modification : 04/02/2023 08:21 de Zatalyz