Déplacement des fichiers entre deux serveurs

Déplacement des fichiers entre deux serveurs

14/04/2020 0 Par Vincent

On ne peut pas vraiment parler d’article ici mais simplement d’une commande que je cherche fréquement à l’occasion d’une migration de serveur.

Les dernières versions de Windows Server intègre l’outil Robocopy. Pour transférer les données d’un serveur a vers un serveur b, on peut utiliser la commande suivante :

[pastacode lang= »bash » manual= »robocopy%20%2Fmir%20%5C%5Cserveura%5Crepertoirea%5C%20%5C%5Cserveurb%5Crepertoireb%5C%20%2Fb%20%2Fcopyall » message= » » highlight= » » provider= »manual »/]

Le paramètre /MIR réalise une copie du répertoire a sur le serveur a vers le répertoire b sur le serveur b.
Le paramètre /B demande à k’opérateur de sauvegarde de Windows de faire la copie, cela permet de copier tous les dossiers, même ceux protéger par des droits exclusifs
Le paramètre /COPYALL permet de transférer les dossiers, fichiers, les informations d’horodatage ainsi que les droits (ACL)

Cas particulier : si vous voulez copier simplement l’arborescence du dossier sans son contenu, voici la commande Robocopy qu’il vous faut :

[pastacode lang= »bash » manual= »robocopy%20%3Csource%3E%20%3Cdestination%3E%20%2Fzb%20%2Fe%20%2Fxf%20* » message= » » highlight= » » provider= »manual »/]

Voici d’autres paramètres plutôt intéressant quand on ne veut pas écraser des éléments déjà présent dans le dossier cible :

[pastacode lang= »bash » manual= »robocopy%20%3Csource%3E%20%3Cdestination%3E%20%2FE%20%2FXC%20%2FXN%20%2FXO » message= » » highlight= » » provider= »manual »/]

Ci-dessous le détail des opérateurs utilisés :

  • /XC permet d’exclure de la copie les fichiers ayant le même horodatage (normalement Robocopy les écrase).
  • /XN permet d’exclure les fichiers existants dans la source plus récent que dans le dossier de destination.
  • /XO permet d’exclure les fichiers existants dans la source plus ancien que dans le dossier de destination.