Les options de travail et de surveillance de RoboCopy

21

Que font les options de travail de RoboCopy? Et que font exactement les commutateurs /MONet /MOT? Comment puis-je les utiliser? Je ne les comprends pas et je ne trouve aucun exemple sur la façon de les utiliser.

  • / MON: n - source MONitor; exécuter à nouveau lorsque plus de n changements ont été observés.
  • / MOT: m - source MOnitor; exécuter à nouveau en m minutes Temps, si changé.

Cela signifie-t-il qu'il s'exécutera une fois en premier, puis continuera de fonctionner une fois terminé et recommencera si un changement se produit quelque part dans la structure du fichier ou lorsque quelque chose a changé et qu'un temps s'est écoulé?

  • / JOB: jobname - récupère les paramètres du fichier JOB nommé.
  • / SAVE: jobname - ENREGISTRER les paramètres dans le fichier de travail nommé
  • / QUIT - QUIT après le traitement de la ligne de commande (pour afficher les paramètres).
  • / NOSD - AUCUN répertoire source n'est spécifié.
  • / NODD - AUCUN répertoire de destination n'est spécifié.
  • / IF - Inclut les fichiers suivants.

Qu'est-ce qu'un fichier de travail? À quoi servent les commutateurs /NOSDet /NODD?

Svish
la source
Grandes questions ET jusqu'à ce que je voie vos balises, je n'avais pas réalisé que la photocopie fait partie de Windows 7. :-)
Chris_K
Merci! Pensez que cela fait également partie de Vista, mais j'utilise Windows 7, alors giflez-le là-bas. Je ne connaissais pas du tout cet outil il y a quelques jours: D
Svish
1
Robocopy est inclus en standard depuis Windows Vista et Windows Server 2008. Avant cela, il était accessible au public depuis la version 1.7 en tant qu'outil dans les kits de ressources Windows depuis la version 3.51 (et avant cela, il était connu des employés de MS comme "qui génial utilitaire de copie que Kevin a écrit ... ")
Jessica McKinnon

Réponses:

6

Cela signifie-t-il qu'il s'exécutera une fois en premier, puis continuera de fonctionner une fois terminé et recommencera si un changement se produit quelque part dans la structure du fichier ou lorsque quelque chose a changé et qu'un temps s'est écoulé?

Oui. / MON compte le nombre de fichiers modifiés; / MOT compte le temps.

J'ai eu peur d'essayer ces options, car les documents disent comment démarrer ces travaux, mais pas comment les arrêter. Ils pourraient devenir des tâches planifiées invisibles et imparables, pour autant que je sache.

Cette page indique qu'elle s'exécute jusqu'à ce que vous interrompiez le travail en cours, par exemple avec control-C.

(Ajouté comme réponse plutôt que comme commentaire, car StackExchange ne me permet pas d'écrire des commentaires sans 50 points de réputation, et j'ai 1 point de réputation après 3 ans.)

Phil Goetz
la source
6

Mieux expliqué par l'exemple:

Voici un fichier de travail trivial, appelez-le sample.rcj:

:: Source Directory :
    /SD:C:\Documents and Settings\  :: Source Directory.

:: Destination Directory :
::  On command line

:: Copy options :
    /E      :: copy Subdirectories, including empty ones.

Il spécifie les options pour copier le c:\Documents and Settingsrépertoire de la machine actuelle vers un emplacement non spécifié.

Voici comment vous l'utiliseriez pour copier vers la destination spécifiée dans la %DEST%variable d'environnement, en ajoutant la journalisation au %LOG%fichier.

robocopy /nosd %DEST% /log+:%LOG% /job:sample

/NOSD est donné car la source est spécifiée dans le fichier de travail.

Vous pouvez jouer avec la création d'une commande robocopy sur la ligne de commande, puis lorsque vous êtes satisfait qu'elle fait ce que vous voulez, exécutez-la à nouveau avec /SAVEpour enregistrer les options dans un fichier.

/QUIT analyse les options et se plaindra si vous avez quelque chose de mal (options invalides, la source n'existe pas) mais ne fait rien.

Je suppose que /IFcela vous permettrait d'inclure un fichier d'options en plus du travail lui-même? (Dans mon exemple, j'aurais pu mettre l' /LOGoption dans un fichier et l'inclure avec /IF.) Juste en devinant, cependant.

Randy Orrison
la source
Je ne connais pas les options / MON et MOT, mais je soupçonne que Shufler les a bien choisies. Essayez-le et faites-le nous savoir!
Randy Orrison
ps. plus d'informations sur ce sujet ici: detroitdavesraves.blogspot.co.uk/2011/08/…
JohnLBevan
5

/MONanalyse la source et copie lorsqu'elle détecte des modifications. /MOTse réexécute à nouveau en n minutes et copie les modifications détectées

/JOB vous permet de spécifier les options dans un fichier texte, dans le cas où vous avez beaucoup d'options (comme les exclusions).

J'aurais aimé savoir quoi /NOSDet /NODDfaire car je n'ai jamais eu de raison de les utiliser.

shufler
la source
Pourriez-vous créer un exemple d'utilisation de ce commutateur / JOB? Je n'arrive pas à le faire fonctionner ...
Svish
le fichier / job contient une liste de commutateurs (un par ligne) et leurs paramètres. vous pouvez également utiliser le commutateur / save pour sortir un fichier de travail (.rcj) pour une utilisation ultérieure
shufler
/ MOT réexécute toutes les n minutes uniquement s'il y a des changements (voir manuel: "Surveille la source, et recommence en M minutes si des changements sont détectés")
ndemou
3

De: http://www-pc.uni-regensburg.de/systemsw/tools/robocopy.doc

Surveillance d'une arborescence de répertoires À l'aide des commutateurs / MON: n et / MOT: m, vous pouvez surveiller les modifications de l'arborescence de répertoires source et les copier au fur et à mesure qu'elles se produisent. Le commutateur / MON: n spécifie le nombre minimum de modifications qui doivent se produire avant de réexécuter. Le commutateur / MOT: m spécifie le temps minimum, en minutes, qui doit s'écouler avant de recommencer. Si vous spécifiez uniquement l'un de ces commutateurs, l'autre est supposé avoir une valeur de 1.

Lorsque la surveillance est spécifiée, Robocopy ne s'arrête jamais. Au lieu de cela, il entre dans une boucle qui effectue une passe Robocopy normale, puis surveille l'arborescence du répertoire source pour les modifications, jusqu'à ce que les deux n modifications aient été détectées et que m minutes se soient écoulées. Lorsque les deux conditions sont remplies, une autre passe Robocopy est lancée. L'ensemble de ce processus de copie et de surveillance est répété, à l'infini, jusqu'à ce que l'utilisateur termine manuellement le processus Robocopy.

Au minimum, Robocopy surveille l'arborescence du répertoire source pour les modifications apportées aux noms de fichiers et de répertoires, aux tailles et aux dernières heures d'écriture. Si des attributs doivent être copiés, Robocopy surveillera également l'arborescence pour les changements d'attributs. De même, si les informations de sécurité doivent être copiées, Robocopy surveillera également l'arborescence pour les modifications de sécurité.

Par conséquent, un utilisateur effectuant une modification et enregistrant un seul nouveau fichier, par exemple, peut renvoyer à Robocopy plusieurs modifications de différents types. Par conséquent, une certaine expérimentation peut être nécessaire pour déterminer les valeurs de seuil appropriées pour / MON et / MOT pour chaque travail Robocopy, en particulier ceux qui surveillent les arbres occupés.

Buckley
la source
Hmm, donc il peut être utilisé pour détecter les renommages et les mouvements. Mais lorsqu'il détecte un tel changement dans l'arborescence, copie-t-il le fichier dans le nouveau nom / emplacement et le supprime-t-il de l'ancien (effectuant ainsi des écritures inutiles), ou peut-il le renommer / le déplacer?
Synetech
Chrome marque ce fichier doc comme un malware!
Aardvark
1

Par exemple, j'utilise le /MOTcommutateur pour garder un système de fichiers DR à jour avec une copie toutes les 10 minutes. Je démarre robocopy à 12h avec une tâche planifiée et il s'exécute toute la journée en copiant toutes les modifications toutes les 10 minutes. La tâche planifiée est définie pour s'arrêter d'elle-même après 23 h 55 min, puis la photocopie est redémarrée par la tâche du lendemain à 12 h 00.

Bien que robocopy indique le nombre de modifications en attendant l'expiration de la période de 10 minutes, il analyse toujours toute la structure du dossier source que vous avez indiquée. Il est donc préférable de réduire la structure source avec quelques exceptions de dossier ( /XD <folder>) si vous le pouvez.

Mike
la source
Envie de partager votre script?
Svish
0

Une autre façon simple de le faire est d'utiliser simplement le commutateur / MIR et de planifier votre fichier bat pour l'exécuter encore et encore. Il ne fera que le changement basé sur le côté source. Vous devez d'abord exécuter une copie complète.

Vérifiez le fichier journal, vous verrez les résultats. utilisez également le commutateur / MT pour le multi-threading. Accélérez la copie.

Boucle racine
la source
0

Comment utiliser les fichiers de travail

Les fichiers de travail sont utilisés pour enregistrer et réutiliser (généralement) de longues lignes de commande de robocopy.

Pour créer un fichier de travail Robocopy

ROBOCOPY C:\SRC C:\DST ...other.robocopy.options... /SAVE:TEST /QUIT

Cela créera un fichier de travail Robocopy nommé TEST.RCJ avec toutes les options Robocopy que vous avez spécifiées avant le commutateur / SAVE, puis se ferme sans réellement effectuer la copie.

Pour utiliser un ou plusieurs fichiers de travail

ROBOCOPY /JOB:TEST /JOB:JOBFILE2 ...other.options...

Pour afficher ou modifier le fichier de travail

Il suffit de l'ouvrir avec un éditeur de texte. Le format est explicite.

Pour tester les fichiers de travail

Si vous souhaitez tester vos modifications ou si vous combinez plusieurs fichiers de travail et vous demandez quel est le résultat final, exécutez ceci:

ROBOCOPY /JOB:JOBFILE1 /JOB:JOBFILE2 /QUIT

Pour créer des fichiers de travail sans le répertoire source / destination

Dans ce cas, utilisez la syntaxe suivante:

ROBOCOPY /NOSD /NODD ...options... /SAVE:TEST /QUIT

Apparemment, / NOSD et / NODD représentent NO Source Dir et NO Destination Dir.

Vous devez également utiliser ces commutateurs lors de l'exécution des fichiers de travail qui définissent la source ou la destination car robocopy se plaindra si vous le saisissez à nouveau dans la ligne de commande.

À propos de / MON et / MOT

Votre compréhension du manuel est correcte. Robocopy continue de fonctionner en détectant et en agissant sur toutes les modifications jusqu'à ce que vous y mettiez fin (par exemple avec Ctrl-C).

ndemou
la source
-1

Consultez la documentation dans Technet .

John Gardeniers
la source
1
La documentation ne dit rien de plus que ce que j'ai mis dans ma réponse. Du moins pour autant que je puisse voir ...
Svish
Je vois ce que tu veux dire, désolé. La documentation était bien meilleure avant de devenir un produit "officiel".
John Gardeniers