Como automatizar cópias de segurança no Linux com um script
Com um script rsync agendado pelo cron, sem precisar de software adicional.
Um script simples com rsync agendado pelo cron cobre a
maioria das necessidades domésticas, sem precisar de software
adicional.
O script
#!/bin/bash
DATA=$(date +%Y-%m-%d)
rsync -av --delete /home/o_seu_utilizador/Documentos/ /media/disco_externo/backup-documentos/
echo "Cópia concluída: $DATA" >> /home/o_seu_utilizador/backup.log
Guarde-o como backup.sh, dê-lhe permissões de
execução:
chmod +x backup.sh
--delete elimina no destino os ficheiros que já não
existem na origem, mantendo uma cópia espelho exata. Retire-o se
preferir que o destino apenas acumule, sem nunca apagar nada.
Agendá-lo com cron
crontab -e
Acrescente esta linha para o executar todos os dias às 2 da madrugada:
0 2 * * * /caminho/completo/backup.sh
Dica: teste o script manualmente primeiro
(./backup.sh) antes de o agendar — confirme que funciona
como espera antes de o deixar a correr sozinho sem supervisão.
Perguntas frequentes
O que faz exatamente o rsync que uma cópia normal não faz?
Só copia o que mudou desde a última vez, em vez de copiar tudo de novo — muito mais rápido em cópias repetidas de grandes quantidades de ficheiros.
É seguro usar --delete no script?
Mantém uma cópia espelho exata da origem, mas significa que se apagar algo por engano na origem, também se apaga no destino na próxima execução. Retire-o se preferir que o destino apenas acumule sem nunca apagar.