Comment recopier d’un serveur Unix à un autre, un répertoire et tout son contenu, de manière récursive et en préservant les droits ?

On se met sur le serveur source dans le bon répertoire et on lance la commande rsync qui va copier les éléments sur le serveur destination.

Voila la syntaxe :

rsync -trpogv . user@serveurdest.com:/chemin

les options utilisées :

  • -t, —times préserve les dates
  • -r, —recursive visite récursive des répertoires
  • -p, —perms préserve les permissions
  • -o, —owner préserve le propriétaire (root uniquement)
  • -g, —group préserve le groupe
  • -v, —verbose plus loquace

À noter :

  • rcp ne fonctionne pas bien, krcp est mentionné dans le man mais n’existe pas sur mon kimsufi
  • il faut donner le mot de passe du compte distant
  • éviter d’utiliser l’accès root pour une question de sécurité et de droits
  • l’option Accès telnet /ssh doit être activé sur le compte distant
  • le chemin doit être absolu à partir de la racine

Une doc en français sur rsync se trouve ici
La page officielle de rsync est

Prochaine étape ? Faire des copies périodiques grâce à rsync et cron, à voir ici ou en français.