
Eu tenho uma pasta grande "X" em meu diretório pessoal e uma cópia desatualizada dela em uma unidade flash - Y. Qual é o análogo de rm Y; cp X Y
, mas sem substituir os arquivos já existentes?
Responder1
Existem muito mais propriedades parasincronizar novamentedo que a resposta anterior menciona. Você deve examiná-los você mesmo:
man rsync
Mas para o seu problema eu sugiro:
rsync -a --delete X Y
Dessa forma, o receptor (Y) excluirá qualquer arquivo que não esteja em X. Certifique-se de fazer isso corretamente. Usado incorretamente, pois o root pode facilmente matar seu sistema... :)
Responder2
Dê uma olhadarsync(1). O objetivo é fazer exatamente o que você deseja.
rsync -av X Y
Suporta cópia remota, através de protocolo próprio ou ssh, mas também pode ser usado localmente.
Dependendo do comportamento exato que você deseja, você também pode passar a --update
opção. Isso dirá ao rsync para não sobrescrever arquivos que já existem no destino e são mais recentes que os da origem.
Se você deseja remover arquivos extras (ou seja, arquivos que existem em Y, mas não em X), você pode adicionar a --delete
opção.
Responder3
Você pode usarFitus/Zaloha.sh. Primeiro calcula as ações de sincronização necessárias, apresenta-as, pede confirmação e depois executa-as:
$ Zaloha.sh --sourceDir="X" --backupDir="Y"
Responder4
Acho que algumas das funcionalidades que você procura na opção -u (atualização) realmente existem nesta opção:
"--ignore-existente" - ignora a atualização dos arquivos que existem no receptor