
Estou confuso com a exclusão do rsync.
Estou tentando fazer backup de todos começando com / mas excluo /media/ /mnt/ /home/files/ e /home/backup
sudo rsync -a \
--progress \
--stats \
--exclude-from=/home/files/ \
--exclude-from=/media/ \
--exclude-from=/mnt/ \
--exclude-from=/home/backup/ \
/ /home/backup
Não vai funcionar.
Acabo copiando arquivos para /home/backup/home/backup/... Eu li que tenho que escrever minhas exclusões relativas à minha raiz de transferência, mas acho que se / é minha raiz de transferência, então /media/ deve ser relativo a este direito?
Responder1
man rsync
--exclude=PATTERN exclude files matching PATTERN
--exclude-from=FILE read exclude patterns from FILE
exclude-from é usado para apontar para um arquivo que lista as pastas que você não deseja. Experimente a opção --excluir
Responder2
Sua sintaxe está incorreta; é por isso que não está funcionando.
Você diz:
--exclude-from=/home/backup/
quando você deveria simplesmente dizer
--exclude="/home/backup/*"
Além disso, você não está usando o
--delete-excluded
switch que pode sincronizar os diretórios.
Quanto à sua pergunta no final: Sim, no seu caso você está especificando /
como início do rsync. Então, se você excluir, "tmp/*"
então é de fato relativo, /
então é o mesmo que especificar"/tmp/*"