2014-09-19 21:03:44 +0000 2014-09-19 21:03:44 +0000
32
32

Commande ROBOCOPY pour effectuer une sauvegarde incrémentielle

Je suis submergé par la documentation de ROBOCOPY. Je veux faire une sauvegarde incrémentielle de mes fichiers locaux sur le disque réseau (M). Je veux qu'elle s'exécute le plus rapidement possible, sans fichier journal et avec le moins de texte possible à l'écran. Mes fichiers se trouvent tous quelque part dans un dossier (MyFolder) qui comporte de nombreux sous-dossiers imbriqués. Par “incrémentiel”, je veux dire “ne copiez que ce qui est nouveau ou modifié”. Je ne veux pas supprimer les fichiers historiques dans la destination, mais si j'ai modifié un fichier, je ne veux que la version la plus récente. Et si je n'ai pas modifié un fichier, alors je ne veux pas le copier par-dessus le fichier sauvegardé existant. Le texte ci-dessous est-il correct ? (Running Win7 Enterprise.)

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e

S'il vous plaît, pas de suggestions pour autre chose que la robocopie. Je ne suis pas autorisé à installer quoi que ce soit. Et je ne me soucie pas des trucs de sécurité. J'ai des gens pour ça (que je le veuille ou non) ;-)

Réponses (2)

43
43
43
2014-10-26 14:25:57 +0000

Depuis quelques années, j'utilise avec succès une variante du scénario suivant :

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL

Paramètres expliqués

  • L'option /MIR (équivalent à /E /PURGE) signifie “miroir” et est l'option la plus importante. Elle considère votre dossier source comme le “maître”, ce qui fait que robocopy copie/miroir tout changement dans la source (nouveaux fichiers, suppressions etc.) vers la cible, ce qui est un paramètre utile pour une sauvegarde.

  • /FFT est une option très importante, car elle permet une différence de 2 secondes lors de la comparaison des horodatages des fichiers, de sorte que les différences d'horloge mineures entre votre ordinateur et votre dispositif de sauvegarde n'ont pas d'importance. Ainsi, seuls les fichiers modifiés seront copiés, même si les heures de modification des fichiers ne sont pas exactement synchronisées.

  • /R:3 spécifie le nombre de tentatives, si la connexion devait échouer, et /W:10 spécifie un temps d'attente de 10 secondes entre les tentatives. Ces options sont utiles lorsque la sauvegarde est effectuée via un réseau.

  • /Z copie les fichiers en “mode redémarrage”, de sorte que les fichiers partiellement copiés peuvent être poursuivis après une interruption.

  • /NP et /NDL suppriment certaines sorties de débogage, vous pouvez en outre ajouter /NS, /NC, /NFL pour réduire davantage la quantité de sorties (voir la documentation pour plus de détails). Cependant, je vous suggère d'imprimer une sortie de débogage lors des premières exécutions, pour vous assurer que tout fonctionne comme prévu.

Autres paramètres utiles mentionnés par d'autres utilisateurs

  • /XJD exclut les “points de jonction” pour les répertoires, des liens symboliques qui pourraient causer des problèmes comme des boucles infinies pendant la sauvegarde. Voir les commentaires de Brian pour plus de détails.

  • /MT[:N] utilise le multithreading et peut accélérer le transfert de nombreux petits fichiers. Pour N, une valeur de 2 à 4 fois le nombre de cœurs devrait faire l'affaire sur une machine normale. Commenté par Zoredache sur la question originale.

Modifier en réponse au commentaire de Granger:

Si vous voulez vraiment conserver les fichiers qui existent du côté de la destination, mais pas du côté de la source, il suffit de remplacer l'option /MIR par /E. Cependant, je vous suggère fortement d'utiliser /MIR lorsque vous voulez utiliser la destination pour des sauvegardes incrémentielles. Sinon, les fichiers qui ont été renommés ou déplacés à la source encombreront la destination, ce qui signifie que vous obtiendrez des doublons. Je crée généralement un sous-dossier “backup” sur la destination qui contient une copie 1:1 de mon arborescence de dossiers source. De cette façon, vous pouvez toujours conserver des fichiers historiques à côté du dossier de sauvegarde et les supprimer ou les réorganiser en toute sécurité par la suite.

8
8
8
2015-01-20 18:58:26 +0000

J'aime utiliser les termes suivants :

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE

Je l'exécute en tant qu'administrateur afin que le mode de sauvegarde (/b option) puisse faire une copie des fichiers utilisés.

D'autres options non liées à la nature incrémentielle de la sauvegarde sont :

/XD pour exclure des répertoires de la sauvegarde.

/XJD pour exclure les points de jonction (“Ma musique”).

/R:0 pour mettre à 0 les tentatives échouées.

/XA:SH pour ignorer les fichiers cachés et les fichiers système.

Pour supprimer autant d'informations de journalisation que possible, ajoutez les options suivantes /NP /NS /NDL /NFL /NC.