Transfert de fichier avec robocopy (ligne de commande)

Robocopy permet de copier des fichiers d’un serveur a un autre tout en conservant les droit NTFS.
Il fait partie du ressource kit de w2003 cliquer ici pour le telecharger

On peut l utiliser dans un batch afin d’automatiser une copie dans la nuit par exemple.
On peut également faire une première copie puis ensuite juste une mise a jour des changements ce qui permet de faire la migration tout en douceur

Usage : ROBOCOPY source destination [fichier [fichier]…] [options]

source : répertoire Source (disque:\chemin ou \\serveur\partage\chemin).
destination : répertoire Destination (disque:\chemin ou \\serveur\partage\chemin).
Fichier : Fichier (s) à copier (noms/jokers: par défaut : “*.*”).

Options de copie : /S : copie les sous répertoires non vides.
/E : copie tous les sous répertoires (même vides)
/SEC : copie les securités ACL / NTFS (source et destination NTFS).
/MOVE : déplace au lieu de copier (source effacée
/PURGE : delete dest files/dirs that no longer exist in source.
/MIR : MIRror a directory tree (equivalent to /E plus /PURGE).

Exemples :

Robocopy \\serveur1\home \\serveur2\home /E /SEC
(Copie l’arborescence spécifiée du serveur1 vers le serveur2 en gardant les permissions NTFS

Robocopy \\serveur1\home \\serveur2\home /E /SEC /MOVE
(Même chose mais la source est effacée – déplacement-)

scénario pour migration d un serveur
robocopy “\\serveursource\data1″ “\\serveurcible\data2″ /MIR /SEC /RH:2000-0700 /TEE /LOG+:c:\journal.log
(La copie va se dérouler de 20H a 7H)
Une fois les données transférer faire une synchro des changement toutes les 30 min
robocopy “\\serveursource\data1″ “\\serveurcible\data2″ /MIR /SEC /MOT:30 /TEE /LOG+:c:\journal.log

Le jour J je coupe l’accès réseaux aux données a tous les utilisateurs
lance cette dernière synchro
robocopy “\\serveursource\data1″ “\\serveurcible\data2″ /MIR /SEC /TEE /LOG+:c:\journal.log

Reste plus qu’a modifier les partages afin que les utilisateurs accèdent au nouveau serveur

Ce contenu a été publié dans Migration, serveur, serveur 2003, serveur 2008, Windows, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

7 réponses à Transfert de fichier avec robocopy (ligne de commande)

  1. dani dit :

    bonjour tout le mande j’ai besoin de sauvegarder les droits NTFS , droits de partager
    merci de me répondez

  2. lemriguel dit :

    Bonjour,
    J’ai besoin de creer un robocopy qui me permet sans definir un chemin en dur pour chaque fichier à copier mais copier un fichier de chaque sous-repertoire.
    un genre de chemin relatif pour decendre en hierarchie!
    Merci

  3. tyboun dit :

    Bonsoir Nicolas, Tout d’abord merci pour ce « tuto » 🙂
    Je rentre dans le vif du sujet.
    Je dois migrer des données (répertoires et sous répertoires) d’un serveur vers un autre donc cette option me semble adaptée surtout avec les heures de transfert (en dehors de l’utilisation max du réseau)
    robocopy “\\serveursource\data1″ “\\serveurcible\data2″ /MIR /SEC /RH:2000-0700 /TEE /LOG+:c:\journal.log
    Cela me permettrais de prévenir les utilisateurs et bloquer les accès pendant cette période.
    1/ est ce que avec ce script les droits en lecture ou écriture sont conservés ?
    2/ peut tu me dire à quoi correspondent ces options /MIR /SEC /RH:2000-0700 /TEE /
    3/ sur un réseau de soit disant 100 mbps, combien de temps il faudrait + ou – pour transférer 100 GO, sachant que j’en ai beaucoup plus 😉
    4/ à quoi cela sert si la 1ère commande a fonctionné ?: Une fois les données transférer faire une synchro des changement toutes les 30 min
    robocopy “\\serveursource\data1″ “\\serveurcible\data2″ /MIR /SEC /MOT:30 /TEE /LOG+:c:\journal.log
    Merci par avance de tes retours.
    Amicalement
    Tyboun

    • admin dit :

      bonjour
      je vais donc essayer de te répondre point par point.
      1) les droits ntfs sont normalement conservés
      option : /SEC : copie les sécuritées ACL / NTFS (source et destination NTFS).
      2) en français voici comment on peut traduire la ligne de commande
      copie miroir avec conservation des droits acl/ntfs de 20h a 7h en affichant une console et en créant un fichier de log
      3) en théorie dans un labo je te dirais 2h16 si tu as un super réseau qui est vraiment a 100Mo.
      Je pense que tu mettra beaucoup plus de temps car entre la théorie et la pratique il y a tout un monde.
      si tu as que des gros fichiers cela sera plus rapide que si tu as une multitude de petits fichiers.
      Perso je lancerais le script un vendredi soir pour que durant le week-end la copie se fasse sans problème. Il te faudra prendre la main à distance pour vérifier que tout se déroule bien et au pire relancer le script.
      4) elle n est pas nécessaire si tu fais le transfert et que tu bascule les utilisateur aussitôt. Moi je m en sert car je fais les transfert généralement sur plusieurs jours. je copie les fichiers et mets la synchro en place. je test le nouveau serveur. je modifie les scripts un par un et bascule progressivement les utilisateurs sur le nouveau serveur. Ainsi tu peux faire la bascule sur plusieurs jours.

      • tyboun dit :

        Bonjour Nicolas et vraiment merci pour toutes tes explications précises !
        Je vais tester ça lundi avec un fichier de quelques GO

        Bon week end 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *