Automatiza o Robocopy do Windows com monitor de alterações internas / MON: 1 opção

6

A opção / MON: 1 funciona muito bem e executa a varredura de diretórios apenas se houver mudanças. Isso é algo que não é possível fazer se o robocpy for executado a partir do Windows Scheduler a cada 10 minutos.

Existe uma maneira de executar o

robocopy  \192.168.1.100\D$\RoboCopyTest \192.168.1.200\D$\RoboCopyTest /FFT /Z /ETA /E /XA:H /R:0 /W:1 /XO /NP /NDL /NFL /MON:1

comando automaticamente quando o Windows é iniciado e se o comando foi interrompido por algum motivo - reinicie-o e notifique ao log de eventos do Windows que o comando foi interrompido por algum motivo. O comando robocpy com a opção / MON: n tem loop infinito para ser executado somente se os arquivos tiverem N alterações.

    
por user34402 10.07.2011 / 13:30

2 respostas

6

Pode ser melhor criar um Serviço do Windows para isso em vez de executá-lo no Agendador de tarefas. A estrutura do Serviço é projetada em torno desse tipo de programa start-once-run-forever e possui ganchos para eventos em caso de parada desconhecida.

Criar um serviço definido pelo usuário é bem fácil. Embora o artigo tenha sido projetado para o Windows 2000 , ele ainda funciona para 2008. O comando 'sc' é usado para criar o serviço.

sc create "Robocopy-Service" binPath= "c:\tools\robocopy.exe" start= auto

Altere os valores com base em como você deseja que o serviço seja executado. Uma vez lá, você pode entrar no Service Manager e modificar o serviço para saber como lidar com uma parada súbita. Ele sempre grava e evento ("Service xyz parou inesperadamente"), mas você pode dizer como reiniciar o serviço ou executar um script se precisar enviar e-mails sobre ele.

    
por 10.07.2011 / 15:00
9

Para expandir as respostas acima e fornecer parâmetros para o robocopy:

sc create "Robocopy Service" binpath="c:\windows\system32\robocopy.exe /JOB:robocopy"

Isso lerá o arquivo robocopy.rcj que contém todos os parâmetros.

Você pode executar o comando robocopy com todos os parâmetros desejados e incluir o comando / SAVE: robocopy para criar o arquivo robocopy.rcj. Você pode modificar os parâmetros simplesmente editando o arquivo robocopy.rcj.

    
por 10.07.2014 / 18:58