Le opzioni di lavoro e monitoraggio di RoboCopy


21

Cosa fanno le opzioni di lavoro di RoboCopy? E cosa fanno esattamente gli switch /MONe /MOT? Come posso usarli? Non li capisco e non riesco a trovare esempi su come usarli.

  • / MON: n - sorgente MONitor; eseguire di nuovo quando vengono visualizzate più di n modifiche.
  • / MOT: m - sorgente MOnitor; eseguire di nuovo tra m minuti Tempo, se modificato.

Ciò significa che verrà eseguito prima una volta e poi continuerà a funzionare dopo il termine e verrà eseguito nuovamente se si verifica un cambiamento da qualche parte nella struttura della struttura o quando qualcosa è cambiato e un tempo è passato?

  • / JOB: nome lavoro - accetta i parametri dal file JOB indicato.
  • / SAVE: nome lavoro - SALVA i parametri nel file di lavoro indicato
  • / ESCI - ESCI dopo l'elaborazione della riga di comando (per visualizzare i parametri).
  • / NOSD - Nessuna directory di origine specificata.
  • / NODD - Nessuna directory di destinazione specificata.
  • / IF : include i seguenti file.

Che cos'è un file di lavoro? A cosa servono gli switch /NOSDe /NODD?


Grandi domande E fino a quando non ho visto i tuoi tag non avevo realizzato che robocopy fa parte di Windows 7. :-)
Chris_K

Grazie! Penso che faccia parte anche di Vista, ma sto usando Windows 7, quindi schiaffeggiato lì. Non conoscevo questo strumento un paio di giorni fa: D
Svish,

1
Robocopy è stato incluso come standard da Windows Vista e Windows Server 2008. In precedenza, era disponibile pubblicamente dalla v1.7 come strumento nei kit di risorse di Windows dal 3,51 (e prima, era noto ai dipendenti di MS come "quello straordinaria utility di copia che Kevin ha scritto ... ")
Jessica McKinnon,

Risposte:


6

Ciò significa che verrà eseguito prima una volta e poi continuerà a funzionare dopo il termine e verrà eseguito nuovamente se si verifica un cambiamento da qualche parte nella struttura della struttura o quando qualcosa è cambiato e un tempo è passato?

Sì. / MON conta il numero di file modificati; / MOT conta il tempo.

Ho avuto paura di provare mai queste opzioni, poiché i documenti dicono come AVVIARE questi lavori, ma non come fermarli. Potrebbero diventare compiti programmati invisibili, inarrestabili, per quel che ne so.

Questa pagina indica che viene eseguita fino a quando non si interrompe il processo in esecuzione, ad esempio con control-C.

(Aggiunto come risposta anziché come commento, perché StackExchange non mi consente di scrivere commenti senza 50 reputazione e ho 1 reputazione dopo 3 anni.)


6

Spiegazione migliore con l'esempio:

Ecco un file di lavoro banale, chiamalo sample.rcj:

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

:: Destination Directory :
::  On command line

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

Specifica le opzioni per copiare la c:\Documents and Settingsdirectory della macchina corrente in una posizione non specificata.

Ecco come lo useresti per copiare nella destinazione specificata nella %DEST%variabile d'ambiente, aggiungendo la registrazione al %LOG%file.

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

/NOSD viene dato perché l'origine è specificata nel file di lavoro.

Puoi giocare con la creazione di un comando robocopy sulla riga di comando, quindi quando sei felice che stia facendo quello che vuoi, eseguilo di nuovo con /SAVEper salvare le opzioni in un file.

/QUIT analizza le opzioni e si lamenterà se hai qualcosa di sbagliato (opzioni non valide, la fonte non esiste) ma in realtà non fa nulla.

Immagino che /IFti permetterebbe di includere un file di opzioni oltre al lavoro stesso? (Nel mio esempio, avrei potuto mettere l' /LOGopzione in un file e includerlo con /IF.) Solo indovinando lì, però.


Non conosco le opzioni / MON e MOT, ma sospetto che Shufler abbia fatto bene. Provalo e facci sapere!
Randy Orrison,

ps. maggiori informazioni su questo argomento qui: detroitdavesraves.blogspot.co.uk/2011/08/…
JohnLBevan

5

/MONesegue la scansione della fonte e copia quando rileva le modifiche. /MOTripete di nuovo tra n minuti e copia tutte le modifiche rilevate

/JOB ti permette di specificare le opzioni in un file di testo, nel caso tu abbia molte opzioni (come le esclusioni).

Vorrei sapere cosa /NOSDe /NODDfare come non ho mai avuto motivo di usarli.


Potresti creare un esempio di utilizzo di quell'opzione / JOB? Non riesco a farlo funzionare ...
Svish

il file / job contiene un elenco di opzioni (una per riga) e i relativi parametri. è inoltre possibile utilizzare l'opzione / save per generare un file di lavoro (.rcj) per un utilizzo successivo
shufler

/ MOT si ripete ogni n minuti solo se sono presenti modifiche (vedere il manuale: "Controlla l'origine e viene eseguito nuovamente in M ​​minuti se vengono rilevate modifiche")
ndemou,

3

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

Monitoraggio di una struttura di directory Utilizzando le opzioni / MON: n e / MOT: m è possibile monitorare la struttura della directory di origine per rilevare eventuali modifiche e copiarle come e quando si verificano. L'opzione / MON: n specifica il numero minimo di modifiche che devono verificarsi prima di eseguire nuovamente. L'opzione / MOT: m specifica il tempo minimo, in minuti, che deve trascorrere prima di essere eseguito nuovamente. Se si specifica solo uno di questi switch, si presume che l'altro abbia un valore di 1.

Quando si specifica il monitoraggio, Robocopy non termina mai. Al contrario, entra in un ciclo che esegue un normale passaggio Robocopy e quindi controlla la struttura della directory di origine per le modifiche, fino a quando non sono state rilevate entrambe le modifiche e sono trascorsi m minuti. Quando sono soddisfatte entrambe le condizioni, viene avviato un altro passaggio Robocopy. L'intero processo di copia e monitoraggio viene ripetuto all'infinito fino a quando l'utente termina manualmente il processo Robocopy.

Come minimo, Robocopy controlla l'albero delle directory di origine per le modifiche ai nomi di file e directory, dimensioni e tempi di scrittura dell'ultimo. Se gli attributi devono essere copiati, Robocopy monitorerà anche l'albero per le modifiche agli attributi. Allo stesso modo, se le informazioni di sicurezza devono essere copiate, Robocopy monitorerà anche l'albero per le modifiche di sicurezza.

Di conseguenza, un utente che esegue una modifica e salva un singolo nuovo file, ad esempio, può riportare a Robocopy più modifiche di vario tipo. Pertanto, potrebbe essere necessaria una sperimentazione per determinare i valori soglia appropriati per / MON e / MOT per ciascun lavoro di Robocopy, in particolare quelli che controllano alberi occupati.


Hmm, quindi può essere usato per rilevare rinominazioni e mosse. Ma quando rileva un tale cambiamento nell'albero, copia il file nel nuovo nome / percorso ed elimina dal vecchio (eseguendo in tal modo scritture non necessarie), oppure può rinominarlo / spostarlo?
Synetech,

Chrome contrassegna questo file doc come malware!
Aardvark,

1

Ad esempio, utilizzo l' /MOTinterruttore per mantenere aggiornato un file system DR con una copia ogni 10 minuti. Inizio robocopy alle 12:00 con un'attività pianificata e viene eseguito tutto il giorno copiando eventuali modifiche ogni 10 minuti. L'attività pianificata si interromperà automaticamente dopo 23h55m, quindi Robocopy verrà avviato nuovamente dall'attività del giorno successivo alle 12:00.

Sebbene robocopy indichi il numero di modifiche mentre attende che scada il periodo di 10 minuti, esegue comunque la scansione dell'intera struttura di cartelle di origine a cui lo hai indicato. Quindi, se possibile, restringere la struttura di origine con alcune eccezioni di cartelle ( /XD <folder>).


Vuoi condividere la tua sceneggiatura?
Svish,

0

Un altro modo semplice per farlo è semplicemente utilizzare l'opzione / MIR e pianificare il file bat per eseguirlo più e più volte. Apporterà la modifica solo in base al lato sorgente. Devi prima eseguire una copia completa.

Controlla il file di registro per vedere i risultati. usa anche l'opzione / MT per il multi-threading. Rendi la copia più veloce.


0

Come utilizzare i file di lavoro

I file di lavoro vengono utilizzati per salvare e riutilizzare (di solito) righe di comando di robocopy lunghe.

Per creare un file di lavoro Robocopy

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

Ciò creerà un file di lavoro Robocopy denominato TEST.RCJ con tutte le opzioni Robocopy specificate prima dell'opzione / SAVE e quindi verrà chiuso senza eseguire effettivamente la copia.

Per utilizzare uno o più file di lavoro

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

Per visualizzare o modificare il file di lavoro

Basta aprirlo con un editor di testo. Il formato è autoesplicativo.

Per testare i file di lavoro

Se vuoi testare le tue modifiche o se stai combinando più file di lavoro e ti chiedi quale sia il risultato finale esegui questo:

ROBOCOPY /JOB:JOBFILE1 /JOB:JOBFILE2 /QUIT

Per creare file di lavoro senza la directory di origine / destinazione

In questo caso, utilizzare la sintassi seguente:

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

Apparentemente / NOSD e / NODD stanno per NO Dir Source e NO Destination Dir.

È inoltre necessario utilizzare queste opzioni quando si eseguono file di lavoro che definiscono l'origine o la destinazione poiché robocopy si lamenterà se lo si immette nuovamente nella riga di comando.

Informazioni su / MON e / MOT

La tua comprensione del manuale è corretta. Robocopy continua a rilevare e ad agire su qualsiasi modifica fino a quando non la interrompi (ad es. Con Ctrl-C).


-1

Controlla la documentazione in Technet .


1
La documentazione lì non dice altro che ciò che ho inserito nella mia risposta lì. Almeno per quanto posso vedere ...
Svish,

Capisco cosa intendi, scusa. La documentazione era molto meglio prima che diventasse un prodotto "ufficiale".
John Gardeniers,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.