O primeiro problema está na sua expansão de chave {}
, que é feita pelo shell e rsync
está apenas usando o resultado.
Você tornou a expansão de contraventamento uma não operacional introduzindo um espaço entre os nomes de diretório, de modo que a opção rsync
the --exclude
se tornou:
--exclude {/mnt/dati/Film/,
para que o rsync exclua o arquivo (ou diretório) {/mnt/dati/Film/,
(presumível não existe) e o /mnt/dati/Scout/}
tornou-se um arquivo de origem para copiar para rsync
e não existe esse arquivo / diretório, daí o erro mensagem.
Para resolver esse problema de expansão de chave, você precisa remover o espaço entre os nomes de diretório:
{/mnt/dati/Film/,/mnt/dati/Scout/} ....
Ou melhor, basta usar a parte comum uma vez:
/mnt/dati/{Film/,Scout/} ....
Mas isso não resolve o problema com rsync
porque --exclude
aceita um padrão como:
--exclude='foo*bar'
ou
--exclude 'foo*bar'
também nesse caso, o diretório /mnt/dati/Scout/
ainda será considerado como um diretório de origem para copiar.
Para resolver este problema também, você pode usar vários --exclude
:
rsync -av --exclude=/mnt/dati/Film/ --exclude=/mnt/dati/Scout/ ....
Ou salve os padrões em um arquivo e use:
rsync -av --exclude-from=/file/with/patterns ....