Publié le 25 août 2010, mis a jour le 4 mai 2015
Voici une méthode permettant de copier des données en conservant toutes les propriétés des fichiers (permissions, liens symboliques, etc.). Cette méthode utilise la commande tar
et la commande screen
, ce qui permettra de copier des gros volumes en arrière plan (un peu comme un programme batch).
Remplacer à chaque fois mon_login, mon_groupe ou mon_dossier par la valeur correspondante.
Le but de cet exemple est d’obtenir un dossier /archive/mon_groupe/mon_login/mon_dossier
identique au dossier source /work/mon_groupe/mon_login/mon_dossier
– se connecter sur un krenek
– exécuter la commande screen
(ce logiciel permet de mettre un shell en tache de fond, et de le reprendre plus tard)
– aller à l’endroit où se trouvent les données sources
– copier les données (ici, le dossier "mon_dossier" sera copié vers mon espace dans /archive)
– détacher le screen avec la combinaison de touche ctrl a
puis d
(^A - d)
– la mention [detached] doit apparaître : vous êtes revenu dans votre shell initial. Vous pouvez vous déconnecter de la machine sans aucun souci.
– pour évaluer l’avancement de la copie, vous pouvez utiliser du
– pour reprendre la main sur un screen, afin de vérifier si la commande est terminée, il faut se reconnecter sur la même machine :
– vous devez retrouver le shell tel que vous l’avez laisser plus haut (commandes cd, tar, etc.)
– pour quitter screen
et le fermer complètement, faire exit
– si la copie s’est bien passée, vous pouvez supprimer votre dossier sur /work afin de libérer de l’espace
rsync peut etre utilisé en lieu et place de tar. rsync permet d’effectuer une reprise du transfert après une interruption, sans avoir à recopier ce qui a déjà été transféré.