Copie d'une arborescence sans perte d'attributs avec pax et ssh ...

Comment copier les fichiers du disque-dur d'un ordinateur vers un autre, au travers d'un réseau, sans pour autant perdre les attributs des fichiers ?

C'est plutôt facile grâce à pax(1) et ssh(1) (pax est probablement disponible uniquement sur les systèmes BSD. cpio(1L) devrait fonctionner également) :

cd répertoire/à/copier
pax -w -x sv4crc . |
ssh root@hôtedistant "cd répertoire/de/destination && pax -r -p e"

Vous devriez effectuer cette manipulation avec l'utilisateur "root", afin de garantir l'appartenance des fichiers aux utilisateurs. L'utilisation du format d'archive sv4crc permet d'éviter la limitation à 255 caractères de la longueur du chemin par les autres formats.

Pour vérifier que tous les fichiers ont été transférés correctement, utilisez mtree(8) :

cd répertoire/à/copier
mtree -c -k md5digest -p . | ssh root@hôtedistant "cd répertoire/de/destination && mtree -k md5digest -p ."

S'il aucun message ne s'affiche, c'est que tout est Ok !

Traduction de : Mike's Weblog Edit: l'url source est maintenant Mike's Weblog