rsync cria diretórios que são excluídos

0

Estou confuso sobre como o rsync inclui / exclui arquivos e diretórios. Eu tenho um arquivo de exclusão:

/home/pi/rsync-exclude.txt

com conteúdo:

/proc/*
/sys/*
/dev/*
/boot/*
/tmp/*
/run/*
/mnt/*
/media/*

.Trashes
._.Trashes
.fseventsd
.Spotlight-V100
.DS_Store
.AppleDesktop
.AppleDB
Network Trash Folder
Temporary Items

.bash_history
/etc/fake-hwclock.data
/var/lib/rpimonitor/stat/

e estou usando a seguinte sintaxe para o rsync:

sudo rsync -avH --delete-during --delete-excluded --exclude-from=/home/pi/rsync-exclude.txt / /mnt/

mas o rsync está criando os diretórios / mnt / proc, / mnt / sys, etc. Eles estão vazios como deveriam, mas eu preferiria que eles não estivessem lá.

Existe uma sintaxe diferente que eu possa usar para fazer com que o rsync ignore completamente os diretórios?

    
por BartmanEH 12.07.2015 / 23:59

1 resposta

3

Suas expressões excluem o conteúdo dos diretórios ( /foo/* ), não os próprios diretórios ( /proc ). Por exemplo:

$ mkdir -p foo/{1..3}/{1..3}
$ cat exclude.txt 
/1/*
/2
$ rsync -avH --exclude-from=exclude.txt foo/ bar
sending incremental file list
created directory bar
./
1/
3/
3/1/
3/2/
3/3/

sent 296 bytes  received 89 bytes  770.00 bytes/sec
total size is 0  speedup is 0.00

Como pode ser visto, basta usar o caminho do diretório para excluí-lo e todo o seu conteúdo. Curiosamente, você usou isso no final da sua lista de exclusão:

/var/lib/rpimonitor/stat/
    
por 13.07.2015 / 00:11

Tags