Editar: O Rsync faz uma verificação de ponta a ponta: depois que o arquivo é transferido, ele calcula a soma de verificação do arquivo no destino e o compara à soma de verificação na origem. Quando as somas de verificação coincidem, somente então declara a transferência bem-sucedida. Isso é refletido no código de status de saída final - se TODOS os arquivos transferidos passarem no teste, o código de saída será 0 (Êxito).
Em uma configuração semelhante, criei minha própria solução baseada em rsync. Foi para backups noturnos e não excluímos arquivos automaticamente.
Para resolver algumas das suas preocupações:
- O Rsync nunca modifica nada no lado da origem (a menos que você use a opção
--remove-source-files
). - Se a rede ficar inativa por muito tempo, o Rsync desistirá e dará um status de saída adequado . Eu verifico isso no meu script e para códigos de saída específicos (o que eu observei na prática por registro) Eu tenho o script re-tente o comando rsync até 3 vezes.
- Sim, seu script deve registrar o máximo possível. Carimbo de data / hora, Tempo de execução total, status de existência de Rsync, saída de estatísticas de Rsync (valor transmitido). Eu também executo
find
no final da transferência para contar o número de arquivos edu *
para obter tamanhos de diretórios e registrá-los.
Basicamente, você precisa cuidar de algumas coisas no script. Principalmente: Coletando o status de saída, algumas estatísticas e removendo os arquivos de origem em uma transferência bem-sucedida.
Você pode confiar no status de saída do rsync de que todos os arquivos solicitados foram transferidos, mas você deve pensar em quanto você confia no script para fornecer ao rsync os arquivos corretos (diretório de origem) antes de excluí-los na máquina de origem. Talvez contar os arquivos com find
na origem e, em seguida, no destino (e verificar se esses números correspondem) seria uma boa verificação final antes que o script exclua os arquivos automaticamente.
Dê 10 a 20 tentativas para desenvolver e testar seu roteiro. Você precisaria instalar o Cygwin com clientes rsync e ssh nas máquinas Windows.
É bom se sentir confidente sobre um aplicativo como esse, sabendo exatamente como ele funciona. Eu nunca usei um software de backup comercial - mas se você pode encontrar um sólido e confiar nele - então vá para isso - você pode economizar muito tempo.