Compactando diretórios e transferindo via pipe por SSH

Publicado por Jefferson Diego em 14/09/2009

[ Hits: 11.260 ]

Blog: http://diede.wordpress.com/

 


Compactando diretórios e transferindo via pipe por SSH



Essa dica é para quem possui pouco espaço livre e precisa copiar muitos arquivos (backup) por SSH.

O comum é usarmos o scp, porém, se não temos espaço para gerar um tar ou mesmo um tar.bz2 dos arquivos localmente e adicionando-se ao fato do scp não suportar pipe, as coisas ficam complicadas, pois seria necessário copiar um a um os arquivos.

Dentre todas as possibilidades, há dois modos básicos de se fazer isso:

1. Usando processamento da máquina local para gerar o bzip2:

# tar -cf - /home/diretório_de_backup | bzip2 -9vv | ssh root@192.168.0.1 "cat > /backup_diretorio.tar.bz2"

2. Usando processamento da máquina remota para gerar o bzip2:

# tar -cf - /home/diretório_de_backup | ssh root@192.168.0.1 "cat | bzip2 -9vv > /backup_diretorio.tar.bz2"

Outras dicas deste autor

Baixando jogos do ClickJogos - UOL

Pidgin - Corrigindo erro de certificado omega.contacts.msn.com

Leitura recomendada

HD externo em EXT4 com a praticidade da NTFS - FUSB

Automoatizar backup no pfSense

Problema ao criar scripts com Kommander 1.3 no Slackware Linux?

Entrando com argumentos em shell script

Como fazer um pendrive butável dar boot no VirtualBox

  

Comentários
[1] Comentário enviado por heiligerstein em 18/05/2012 - 12:27h

Muito boa a dica, mas eu não usaria com SSH, visto que vc cria mais uma camada de criptografia desnecessária. Fiz com o canivete suíço, o *netcat*. Assim elimina também o *cat*.

Máquina que recebe (abre a conexão na porta 1234):
nc -l 1234 | bzip2 -9vv > /backup_diretorio.tar.bz2

Máquina que envia:
tar -cf - "./Minhas músicas"/ | nc 192.168.0.1 1234








Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts