Eu li que o rsync não consegue detectar pastas movidas e simplesmente excluí-las e copiá-las novamente para a nova estrutura de pastas.
Já que a única alteração que fiz na minha cópia master foi a simples introdução de uma pasta superior para conter meus arquivos originais, ou seja:
folder1
folder2
folder3
em
top\folder1
top\folder2
top\folder3
Eu queria saber se eu poderia fazer o mesmo manualmente em minha cópia de backup, corrigir os tempos de modificação de ambas as pastas principais de alguma forma, para que as chamadas sucessivas para rsync fossem executadas normalmente.
Isso vai funcionar? Se sim, como? Caso contrário, qual é a forma recomendada para resolver este problema? Ou devo executar o rsync com parâmetros diferentes em primeiro lugar? (em vez do rsync -a --delete /mnt/SRC /mnt/DEST
qual estou usando atualmente)
Os diretórios são muito grandes e, por isso, gostaria de evitar, tanto quanto possível, recopiações desnecessárias.
Responder1
Sim, você pode mover a cópia de backup manualmente e executar o rsync. Você não deverá precisar alterar os tempos de modificação; apenas deixe o rsync fazer isso.
Uma renomeação como essa é difícil de detectar automaticamente, então duplicá-la manualmente é a solução usual.
Responder2
Se você quiser, também não precisará atualizar manualmente os horários de modificação dos arquivos.
Se você não se preocupa especificamente em espelhar a nova estrutura de diretórios e deseja apenas os arquivos, você também pode rsync --(options) /mnt/SRC/newdir/ /mnt/DEST. Observe a barra extra no lado do SRC ou você acabará copiando tudo de novo.
Responder3
A solução sugeridaaquifez o truque:
rsync -vrt --size-only /src/ /dest/
A opção --size-only faz com rsync
que ignore os carimbos de data e hora, enquanto -t (preservar os tempos de modificação) faz com rsync
que corrija quaisquer tempos de modificação discrepantes na cópia de destino.