Como “Encontrar” e depois “Rsync” e depois “Tar / gz” no host de destino?

0

Eu tenho um nó do Cassandra com instantâneos divididos em 64 diretórios com mais de 350 arquivos por diretório. Eu quero "encontrar" todos os arquivos de instantâneo, preservar sua localização, rsync-los através de um host com muito espaço no arquivo e, em seguida, tar / gz-los quando, em seguida, aterrar lá. Isso é possível em um passo?

Atualmente eu tenho que:

find /mnt* -type d -name snapshots -exec /usr/bin/rsync {} -avhr user@host:/mntc/backups/ ';'

Então:

tar -czpf /mntd/backups/mybackup.tgz /mntc/backups/snapshots

Seria bom fazer algo que "despeje" os arquivos encontrados diretamente em um arquivo na outra ponta durante o processo de rsync. Isso é possível?

NOTAS:

  1. Os nós do Cassandra não precisam de 1 TB de espaço livre para pré-compactar arquivos na pesquisa de localização
  2. Rsync de arquivos para novo host e tarballing resultados requer 2Tb no host, reduzindo o número de nós do Cassandra que posso fazer de cada vez (20 no total exigem backup)
por hackajar 29.01.2016 / 22:22

1 resposta

0

Para encurtar a história, esta é a melhor maneira que encontrei para conseguir isso, caso alguém esteja interessado:

find /mnt* -type d -name snapshots > dir.list; \
   tar -czpf - -T dir.list | ssh user@host "openssl aes256 \
   -out /mntc/backups/snapshot.tgz.enc -salt -k 'secret'"
    
por 03.02.2016 / 01:35