Rsync exclui da raiz

Rsync exclui da raiz

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/*"

informação relacionada