O Rsync auto detecta diretórios com arquivos pequenos e compacta-os juntos para transferência

2

Eu preciso transferir alguns arquivos via rsync e não posso tar antes. Então eu pensei que talvez haja um modo que verifica o conteúdo das pastas e se são milhares de pequenos arquivos dentro compactam essa pasta para a transferência. No entanto, eu não consegui encontrar algo assim no homem ( link ). É possível e eu não o encontrei ou teria que fazer isso antes de usar o rsync?

    
por user2693017 19.03.2014 / 02:22

1 resposta

2

Você normalmente usa um dos métodos a seguir quando precisa enviar ou receber arquivos por SSH usando tar .

Copie SOURCEDIR de localhost para remotehost

Conceitualmente, eu geralmente me refiro a isso como arquivos de empilhamento, já que estamos pegando a saída de um comando tar e estamos empurrando os arquivos para outro sistema através do SSH. Os arquivos são direcionados para cópia no sistema remoto em DESTDIR .

exemplo 1
$ tar zcvf - SOURCEDIR | ssh user1@remotehost 'cd DESTDIR; tar zxvf - '
exemplo 2
$ tar zcvf - SOURCEDIR | ssh user1@remotehost "(cd DESTDIR; tar zxvf -)"
exemplo 3
$ tar zcvf - SOURCEDIR | ssh -l user1 remotehost 'cd DESTDIR ; tar zxvf -'

Copie SOURCEDIR do remotehost para o localhost

Conceitualmente, muitas vezes eu me refiro a isso como puxar arquivos, já que estamos fazendo uma conexão SSH com um host remoto, onde estamos iniciando um comando tar . A saída desse comando tar é então direcionada para cópia no sistema local em DESTDIR .

exemplo 1
$ ssh remotehost 'tar zcvf - SOURCEDIR' | tar zxvf -
exemplo 2
$ ssh -n remotehost 'tar zcvf - SOURCEDIR' | tar zxvf -
exemplo 3
$ ssh remotehost "( cd SOURCEDIR ; tar zcvf - SOURCEFILES ) " | tar zxvf -

Referências

por 19.03.2014 / 03:03

Tags