Eu tenho alguns arquivos de log, crescendo uma linha de cada vez, como os arquivos de log. Os arquivos estão disponíveis via compartilhamento de rede SMB.
Eu quero copiar periodicamente esses arquivos. Como a rede é bastante lenta e congestionada, não quero transferir todos os arquivos de cada vez, mas apenas as novas linhas, que foram adicionadas após a cópia anterior.
Posso confiar nos programas que geram os logs para apenas anexar ao final do arquivo. (E se partes dos arquivos de log fossem modificadas de alguma forma após a gravação, todo o log seria não confiável e inútil de qualquer maneira). Não é necessário comparar o início dos arquivos de origem e destino.
Os arquivos de origem e a pasta de destino estão disponíveis apenas via compartilhamento de arquivos SMB, nenhum outro canal de comunicação entre os dois sistemas é permitido.
O computador que executa a tarefa de cópia pode acessar tanto o compartilhamento de arquivo de origem quanto o compartilhamento de arquivo de destino, mas ambos os compartilhamentos estão em redes diferentes e este computador é a única ponte entre eles.
Existe uma combinação inteligente de robocopy, xcopy ou outros comandos do Windows para fazer isso? Robocopy pode retomar downloads parciais, mas não consegui fazê-lo funcionar neste caso.
Eu li que um servidor RSync seria útil aqui, mas a comunicação deve atravessar vários firewalls corporativos bloqueando tudo, exceto o compartilhamento de arquivos smb, e o dispositivo que gera os logs não deve ser modificado, então não acho que seja uma opção.