Estoy usando ubuntu server 12.04, ahora quiero hacer una copia de seguridad de algunos archivos usando rsync, aquí hay una prueba:
rsync -aAX $HOME/Documents/* $HOME/Backups/TEST --exclude={$HOME/Documents/another/*,$HOME/Documents/temp/*}
Como puede ver, quiero hacer una copia de seguridad de todos los archivos en la carpeta $ HOME / Documentos en la carpeta $ HOME / Backups / TEST , pero excluir archivos en la carpeta other y temp . Pero fallé, rsync todavía copió los archivos en ambas carpetas excluidas:
ls $HOME/Backups/TEST/another
test
prueba es un archivo en la carpeta otro , y también se copia aunque excluyo el archivo en rsync, ¿por qué? ¿Cómo dejar que esos archivos se excluyan realmente?
--exclude=/foo
excluirá el directoriofoo
directamente en la fuente, pero--exclude=foo
excluirá cualquier directorio llamado foo, incluso en subdirectorios.Puede resultarle más fácil agregar
.rsync-filter
archivos en sus directorios de origen y usar la-F
opción.Desde la página del manual:
Por ejemplo: en $ HOME / Documentos / .rsync-filter
En lugar de
-
, también puedes escribir la palabra completaexclude
.Ahora usted puede
fuente