Eu usaria rsync para essa finalidade. Você pode baixar um binário compatível com o Windows ou obtê-lo como parte do Cygwin (eu recomendo a abordagem anterior, a menos que você já tenha o Cygwin instalado). Você pode enviar arquivos para o site remoto ou extraí-los. Eu prefiro o método de puxar, mas qualquer um fará.
Usando o método pull, o daemon rsync será executado no servidor de origem; usando push, o daemon rsync será executado no servidor de destino. Aqui está um exemplo de um arquivo de configuração do daemon pull:
max connections = 4
port = 873
read only = true
write only = false
auth users = syncman
secrets file = /etc/rsyncd.secrets
strict modes = false
hosts allow = 192.168.1.8
refuse options = delete
[ProjectOne]
comment = Jimmy's Project
path = C:/projects/project_one
[MutualProject]
comment = The MUTUAL project
path = C:/paid_projects/mutual
Como você especifica o caminho dependerá de qual porta rsync você usa (por exemplo, o cygwin especifica caminhos como este: / cygdrive / c / projects / project_one). Você iria então emitir este comando do servidor:
rsync -a -v 192.168.1.15:ProjectOne backups/ProjectOne
(onde o endereço IP é o endereço IP da máquina de origem). Se o servidor de backup for uma caixa do Windows, você precisaria de uma das muitas implementações cron-for-windows.