Está proporcionando rutas absolutas en su lista de exclusión.
Con rsync, todas las rutas de exclusión (o inclusión) que comienzan /
están ancladas a la " raíz de la transferencia ".
La raíz de la transferencia en este caso es /home/chris
. Si lo hiciste:
rsync -Paz --exclude-from 'rsync-exclude.txt' / [email protected]:
... entonces sus exclusiones deberían funcionar (¡pero estaría copiando todo lo demás en ese sistema de archivos!).
Pero como solo está tratando de sincronizar su directorio de inicio y no hay un subdirectorio de /home/chris
named "home/chris/Downloads"
, rsync
no encuentra nada que coincida.
Intenta eliminar las /home/chris
partes de tu rsync-exclude.txt
archivo.
En realidad, solo debería necesitar una sola línea en el archivo:
/Downloads
Tenga en cuenta que si no especifica el inicio /
, y resulta que tiene otros directorios nombrados "Downloads"
, también se excluirán. Supongo que solo desea excluir su directorio de "nivel superior" (relativo al directorio de origen, también conocido como el directorio "raíz de transferencia") Downloads
, por lo que querrá el líder /
.
LA MANERA MÁS FÁCIL (para excluir solo algunas rutas)
Si solo necesita excluir un directorio, simplemente haga esto (evitando un archivo separado):
rsync -Paz --exclude /Downloads /home/chris/ [email protected]:LinuxHome
También puede encadenar --exclude
etiquetas, así:
rsync -Paz --exclude /Downloads --exclude '/Something Else' --exclude .hiddenFile /home/chris/ [email protected]:LinuxHome
Tenga en cuenta que, dado que no hay barra oblicua, ¡se excluirá .hiddenFile
de cualquier directorio que copie!
Pero si tiene más de unas pocas exclusiones, es mejor que tenga --exclude-from
un archivo.
Nota
Veo que lo entendiste bien, pero los nuevos en rsync deberían notar la barra al final de/home/chris/
Para citar la rsync
página de manual, "Puede pensar en un final / en una fuente que significa 'copiar el contenido de este directorio' en lugar de 'copiar el directorio por nombre'".
Entonces, si dejó esa barra diagonal final, terminaría con un directorio llamado chris
dentro del directorio de destino, que contiene todo desde /home/chris
(¡excepto el Downloads
directorio original , por supuesto!).