Estoy tratando de hacer una copia de seguridad de mi directorio de inicio usando rsync, y quiero excluir algunos de los directorios que contienen basura. Quiero excluir específicamente /home/ben/.ccachey /home/ben/build. Desafortunadamente, la documentación para rsync era sobrecarga de información y no respondió mi pregunta. Esto es lo que probé:
rsync -arv --exclude "/home/ben/.ccache:/home/ben/build" /home/ben /media/ben/thumbdrive/
¿Cuál es la forma correcta de hacer esto?
                    
                        command-line
                                rsync
                                
                    
                    
                        Freedom_Ben
fuente
                
                fuente

aimplicar:)-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)Respuestas:
OK, me siento realmente tonto. Antes de publicar esta pregunta, mi amigo me mostró cómo hacerlo y es realmente simple. Para excluir múltiples directorios, solo usa múltiples
--exclude=pathinterruptores. Entonces mi comando arriba escrito correctamente es el siguiente:fuente
-aincluye-rque-ares redundante.Cuando tenga varios directorios y / o archivos para excluir, cree un archivo de texto y use el
--exclude-frominterruptor. Haga un archivo llamadoexclude_me.txty en él enumere sus exclusiones. Ejemplo (/home/ben/exclude_me.txt):Entonces su rsync se vería así:
Esta es información sobre las reglas de filtro que pueden ayudar:
/dir/significa excluir la carpeta raíz/dir/dir/*significa obtener la carpeta raíz/dirpero no el contenidodir/significa excluir cualquier carpeta en cualquier lugar donde el nombre contengadir/Ejemplos excluidos:
/dir/, /usr/share/directory/, /var/spool/dir/ /var/spool/lpd/cfsignifica omitir archivos que comienzan concfcualquier carpeta dentro de/var/spool/lpdConsulte también la sección de reglas de filtro en la página del manual.
fuente
También puede excluir varias rutas dentro de llaves:
fuente
IFS=$'\n'; rsync -arv $(printf '.ccache\nbuild\n' | sed 's/^/--exclude=/g') /home/ben /media/ben/thumbdrive/. O bien, podría usar varios--excludeargumentos, que tendría que escribir manualmente.