Para fazer isso diariamente na maioria das distribuições Linux, você deve ser capaz de colocar apenas o comando rsync
(conforme @ resposta do guido ) em um script e coloque o script no diretório /etc/cron.daily
. Enquanto anacron
estiver instalado (pode não ser por padrão), todos os trabalhos cron.daily
perdidos serão capturados na próxima vez que a máquina inicializar (assim como serão executados à meia-noite se a máquina for trocada).
Para o script que você acabou de fazer:
#!/bin/sh
rsync -a user@serverB:/source/folder/ /destination_folder
Você pode adicionar a opção -z
(compactação) se o backup estiver em uma conexão lenta (ish) ou se desejar economizar largura de banda, mas na minha experiência prejudicará o desempenho com máquinas / redes modernas.
Se você quiser manter o log de cada backup, você pode fazer algo como:
#!/bin/sh
rsync -av user@serverB:/source/folder/ /destination_folder \
>/var/log/backup_log 2>&1
Note que para isso funcionar como um cron job, você deve ter ssh sem senha configurado para root no servidorA para efetuar login no servidorB. Deve ser a conta raiz (ou seja, chaves em /root/.ssh
), pois cron.daily
jobs são executados como root.