root @ server1: / - servidor remoto
/ backup1 / 12 / fullbackup - servidor de backup local com dados do server1
primeiro rsync todos os dados do servidor remoto para o servidor de backup local (script1.sh):
rsync -avrh -e "ssh -p 123456 -o StrictHostKeyChecking=no" \
--progress \
root@server1:/ /backup1/12/fullbackup/
Segundo, eu crio um script de backup diferencial simples (script2.sh):
today=15
rsync -avrh -e "ssh -p 123456 -o StrictHostKeyChecking=no" \
--progress \
--link-dest=/backup1/12/fullbackup/
root@$ip:/ /backup1/12/backupday/$today/
Após executar o primeiro script (script1.sh) no diretório 12:
# du -sh /backup1/12/*
8.0K /backup1/12/backupday
4.1G /backup1/12/fullbackup
Após executar o segundo script (script2.sh), todos os dados do fullbackup são movidos para o backupday / 15
# du -sh /backup1/12/*
3.9G /backup1/12/backupday
386M /backup1/12/fullbackup
Depois de mover hoje = 15 para hoje = 16 e executar o segundo script novamente (script2.sh) no backupday:
# du -sh /backup1/12/backupday/*
4.1G /backup1/12/backupday/15
104M /backup1/12/backupday/16
Eu não entendo por que primeiro executar o script2.sh move todos os dados para o backupday / 15 e o segundo, o terceiro e o próximo script de execução criam o backup diferencial correto.
O que precisa ser alterado para ter sempre uma cópia completa em / backup1 / 12 / fullbackup e diferente em backupday / $ today?