Consulta Rsync --exclude-from= no Ubuntu 18.04

Consulta Rsync --exclude-from= no Ubuntu 18.04

Estou tentando fazer backup da minha pasta pessoal em uma unidade externa com o seguinte comando:

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

O arquivo --exclude-from=

/home/chh1/rsync_exclude.txt

contém as seguintes entradas:

.cache
crewdb.bak.sql

Eu realmente quero excluir .cache, mas também .dconf que está contido nele, pois quero excluir arquivos que requerem privilégios de root e dados .cache desnecessários contidos em /home/chh1/.cache.

Quando eu corro

find ~ -name ".cache"

Eu recebo a seguinte saída:

/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

Eu realmente quero excluir

/home/chh1/.cache

que cuidaria do dconf e do lixo geral do .cache também. No entanto, não quero excluir os outros diretórios .cache encontrados ao executar o comando find.

já que --exclude-from= corresponde apenas aos padrões com o que está no arquivo de exclusão, como posso especificar um caminho em vez de um padrão e, de preferência, dentro do arquivo de exclusão? Há algum caminho?

Obrigado pela sua ajuda, é realmente muito apreciada!

Responder1

Sua lista de exclusão também pode ter nomes absolutos, que correspondem ao diretório inicial, /home/no seu caso. Use a linha

/chh1/.cache

em vez de .cacheapenas excluir /home/ /chh1/.cache, ou seja/home/chh1/.cache

informação relacionada