Rsync excluir de la raíz

Rsync excluir de la raíz

Estoy confundido con la exclusión de rsync.

Estoy intentando hacer una copia de seguridad de todos los que comienzan con / pero excluyo /media/ /mnt/ /home/files/ y /home/backup

sudo rsync -a \
       --progress \
       --stats \
       --exclude-from=/home/files/ \
       --exclude-from=/media/ \
       --exclude-from=/mnt/ \
       --exclude-from=/home/backup/ \
   / /home/backup

No funcionará.

Termino copiando archivos a /home/backup/home/backup/... Leí que tengo que escribir mis exclusiones en relación con mi raíz de transferencia, pero supongo que si / es mi raíz de transferencia, entonces /media/ debería ser relativo a ¿ese derecho?

Respuesta1

man rsync

--exclude=PATTERN       exclude files matching PATTERN
--exclude-from=FILE     read exclude patterns from FILE

excluir de se utiliza para señalar un archivo que enumera las carpetas que no desea. Pruebe la opción --excluir

Respuesta2

Su sintaxis es incorrecta; por eso no funciona.

Tu dices:

--exclude-from=/home/backup/

cuando deberías simplemente decir

--exclude="/home/backup/*"

Además, no estás utilizando el

--delete-excluded 

Switch que puede sincronizar los directorios.

En cuanto a su pregunta al final: Sí, en su caso está especificando /como comienzo para rsync. Entonces, si excluye "tmp/*", entonces es relativo a /, por lo que es lo mismo que especificar"/tmp/*"

información relacionada