Rsync --exclude-from= consulta en Ubuntu 18.04

Rsync --exclude-from= consulta en Ubuntu 18.04

Estoy intentando hacer una copia de seguridad de mi carpeta de inicio en una unidad externa con el siguiente comando:

rsync -acu --delete --exclude-from='/home/chh1/rsync_exclude.txt' /home/ /media/chh1/f86f92f7-bcb4-4b8e-8a64-8a210606d422/home_backup/

El archivo --exclude-from=

/home/chh1/rsync_exclude.txt

contiene las siguientes entradas:

.cache
crewdb.bak.sql

Realmente quiero excluir .cache pero también .dconf que contiene, ya que quiero excluir archivos que requieren privilegios de root y datos .cache innecesarios contenidos en /home/chh1/.cache.

cuando corro

find ~ -name ".cache"

Obtengo el siguiente resultado:

/home/chh1/snap/pdfmixtool/common/.cache
/home/chh1/snap/gnome-system-monitor/common/.cache
/home/chh1/snap/okular/63/.cache
/home/chh1/snap/freemind/common/.cache
/home/chh1/.cache
find: ‘/home/chh1/.cache/dconf’: Permission denied

realmente quiero excluir

/home/chh1/.cache

lo que también se encargaría de dconf y de la basura general de .cache. Sin embargo, no quiero excluir los otros directorios .cache encontrados al ejecutar el comando de búsqueda.

Dado que --exclude-from= solo coincide con los patrones que están en el archivo de exclusión, ¿cómo puedo especificar una ruta en lugar de un patrón y preferiblemente dentro del archivo de exclusión? ¿Hay alguna manera?

¡Gracias por tu ayuda, realmente es muy apreciada!

Respuesta1

Su lista de exclusión también puede tener nombres absolutos, que coincidan debajo del directorio inicial, /home/en su caso. usa la linea

/chh1/.cache

en lugar de .cachesolo excluir /home/ /chh1/.cache, es decir/home/chh1/.cache

información relacionada