rsync não está funcionando - deseja copiar apenas alguns subdiretórios e arquivos

2

Olá, digamos que eu tenha um diretório como este:

/
    my_work
               /dir1
                    keepdir1.ddd
                    keepdir2.ddd
                    file.cfg
                    (lots of files and directories I don't want)
               /dir2
                    (same layout as dir 1)

Então eu quero copiar o diretório "my_work" e todos os subdiretórios "dir1", "dir2", etc. Mas dentro de cada um desses eu quero manter apenas certos arquivos e certos diretórios. Nos diretórios que tenho, quero incluir tudo de forma recursiva.

Veja o que tentei até agora, mas nada parece copiar:

rsync -rl --include-from=~/rsync_include /my_work ~/backup

E o conteúdo do rsync_include é:

+ *file.cfg
+ *keepdir*/*
- *

Atualização:

Se eu correr com rsync -rvvl eu recebo:

sending incremental file list
[sender] hiding directory my_work because of pattern *
delta-transmission disabled for local transfer or --whole-file
total: matches=0  hash_hits=0  false_alarms=0 data=0

sent 10 bytes  received 12 bytes  44.00 bytes/sec
total size is 0  speedup is 0.00
    
por Greg_the_Ant 02.05.2012 / 15:37

1 resposta

4

O% final - * está ignorando tudo que não correspondeu explicitamente a uma das regras anteriores. Isto é o que você quer, mas como as pastas de nível superior não combinam, o rsync não irá nem descer para , então ele não terá a chance de combinar com os padrões de arquivo que você especificou .

Se você adicionar:

+ my_work/
+ my_work/dir*

explicitamente no topo do arquivo, então deve funcionar.

    
por 02.05.2012 / 15:59

Tags