Linux rsync sem pastas recursivas

0

Eu tenho uma hierarquia de pastas e quero rsync o conteúdo do arquivo de um para outro.

Portanto, um simples dirA rsync para dirB

No entanto, sem o elemento recursivo, ele não inclui os arquivos na pasta.

dave:/tmp# mkdir dirA
dave:/tmp# mkdir dirB
dave:/tmp# touch dirA/tmp.txt
dave:/tmp# rsync --stats dirA/ dirB/
skipping directory .

Number of files: 0
Number of files transferred: 0

Eu posso fazer

dave:/tmp# rsync --stats dirA/* dirB/

Number of files: 1
Number of files transferred: 1

No entanto, se houver dezenas de milhares de arquivos, a lista de argumentos poderá ficar muito longa.

Parece uma operação bastante simples para sincronizar o conteúdo de duas pastas, sem subpastas, no entanto, estou claramente faltando alguma coisa?

    
por wcndave 09.05.2016 / 11:59

1 resposta

3

Isso ajuda? Opção -d e -m do man-page:

   -d, --dirs                  transfer directories without recursing 
   -m, --prune-empty-dirs      prune empty directory chains from file-list

e execute ...

mkdir dirA
mkdir dirB
mkdir dirA/dirAA
touch dirA/fileA
touch dirA/dirAA/fileAA
rsync --stats -dm dirA/ dirB/

Saída:

Number of files: 3 (reg: 1, dir: 2)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 1
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 123
Total bytes received: 31

Resultado:

ls dirB
fileA
    
por 09.05.2016 / 21:33

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' => '492856',
    'url' => 'linux-rsync-without-recursive-folders',
];

$_COOKIE = [
    '_csrf-frontend' => '5e1fcd49df69710eaca5bf1b02021bbea72e34d8bcdf9b633a7aec1beea6b878a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"KX6FGlvJ_bKYaCY6y7sWJpEhHRXJaS0T";}',
    'advanced-frontend' => 'li8epcqdqgpo047001cbp9a91u',
];

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