estrutura de árvore de diretório rsync com profundidade restrita e excluir pastas específicas

1

Eu quero rysnc minha estrutura de pastas e subpastas sem seus arquivos, mas com uma profundidade máxima de 3 (/ folder1 / folder2 / folder3) e excluir pastas específicas (ex. cache /)

Eu tentei este comando:

$ rsync -azv --include=*/ --exclude=* --exclude=cache/ --exclude=/*/*/*/ source/ destination/

mas não está funcionando ... está copiando todas as pastas e subpastas; não respeita a profundidade máxima e não exclui a pasta da cache

Precisa usar outro parâmetro para restringir a profundidade máxima do rsyc; o que há de errado com meus parâmetros existentes?

p.s. última vez que fiz essa pergunta, ela foi marcada como duplicata de Filtro Rsync: copiando apenas um padrão

Não é como se ele não lidasse com a profundidade máxima nem lidasse apenas com a estrutura de árvore do diretório rsync. thx

    
por yeahman 09.10.2015 / 10:16

2 respostas

1

Você precisa excluir o padrão de vários níveis antes de incluir */ , pois o último significa "incluir todos os diretórios", substituindo a exclusão posterior. Você também precisa adicionar um nível extra, pois */ indica um diretório e /*/*/*/ significa "excluir três ou mais níveis".

O comando se torna:

rsync -azv --exclude='/*/*/*/*/' --include='*/' --exclude='*' --exclude=cache/ source/ destination/

(como o Wildcard já comentou, você deve sempre citar ou escapar dos metacaracteres do shell.)

    
por 09.10.2015 / 10:53
0

Para sincronizar duas árvores de diretório, respeitando o limite máximo de profundidade de três subdiretórios, use:

rsync -avz /source/ /destination --exclude "/**/**/**/*" --exclude=cache

Isso também excluirá o diretório chamado cache em qualquer lugar no caminho de origem.

    
por 09.10.2015 / 11:22

Tags

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '856988',
    'url' => 'rsync-directory-tree-structure-with-restricted-depth-and-exclude-specific-folder',
];

$_COOKIE = [
    '_csrf-frontend' => '60638c86d086f6c1806c23033958e692216c828f2744b595bd0847a80c23215ca:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"UB7fvfn8hK01ul_fH7zC-el7NnvRvp-T";}',
    'advanced-frontend' => '8es9a2aib3d8f0gqhlvc1u3tmk',
];

$_SESSION = [
    '__flash' => [],
];