compactar pastas e arquivos do servidor remotamente e copiá-los para minha unidade local

2

Eu tenho um servidor Linux dedicado com acesso usando ssh e plesk. Eu não tenho espaço suficiente no meu servidor que eu possa zip minha pasta e todos os arquivos e, em seguida scp-los no meu computador local.

Existe um comando bash que pode zipar arquivos remotos diretamente na minha unidade local?

    
por user57221 16.05.2011 / 17:38

3 respostas

6

Se a sua "unidade local" for um cliente linux, você pode usar apenas um comando tar remoto para imprimir a saída para stdout (o padrão, uma especificação de opção explícita seria "-f -") e canalizá-la para um local tar que lê de stdin (opção explícita "-f -" novamente) assim:

ssh your.dedicated.server 'tar -czf - /my/files/to/back/up' | tar -xzf -

Ao usar a opção "-z", o Tar compactará seus dados com o nível de compactação padrão do gzip (6). Se você quiser uma taxa de compactação melhor e ter ciclos de CPU de sobra, poderá usar "-j", mas se for uma máquina antiga / virtual com um link rápido, poderá acabar com uma taxa de transferência menor.

Ah, e como edição: você pode especificar a opção -C (compress) com o SCP, isso também usará o gzip como um algoritmo de compressão, embora as taxas de compactação usualmente sejam um pouco menores do que com uma combinação tar / gzip . É menos para digitar e você obterá bons indicadores de progresso como um bônus.

    
por 16.05.2011 / 18:08
4

Não sei exatamente qual é o seu problema. Você pode explicar um pouco mais?

De qualquer forma, veja as opções -r e -C para scp. Isso permite copiar uma árvore de arquivos de forma recursiva e comprimi-la no fio. Depois, você pode sempre zipar em sua máquina local.

Se você realmente quiser compactá-lo rapidamente, pelo menos com tar, ele funciona como

ssh seu_servidor 'tar cvzf - / caminho' > local.tar.gz

    
por 16.05.2011 / 18:11
-1

Não tenho certeza se existe um comando que você pode executar para realmente ter os dados compactados em sua máquina local durante a transferência, mas você não pode simplesmente transferir algumas coisas descompactadas, o suficiente para onde você pode excluí-las originais na máquina remota, depois feche o resto e envie-os? Então você pode simplesmente descompactá-los em sua máquina local, colocá-los todos juntos como eram, e re-zip-los?

Desculpe, espero que eu esteja entendendo o que você está tentando realizar.

    
por 16.05.2011 / 17:57

Tags