como fazer com que o rsync não descomprima arquivos?

5

Estou usando o rsync para copiar arquivos entre servidores. Estou usando a opção -z , que compacta dados apenas para o estágio de transferência da rede.

Mas eu gostaria de deixar arquivos compactados na máquina remota e não encontrei essa opção no rsync.

Isso é possível?

    
por wlk 03.08.2012 / 13:52

3 respostas

4

Não, isso não é possível. Você precisará compactar os dados antes ou depois de transferi-los.

    
por 03.08.2012 / 14:00
2

Resposta curta não.

Resposta longa: Pelo que entendi do link , o zlib realmente não compacta arquivos, mas pedaços de um fluxo. Você não pode ter certeza de que uma versão total do seu arquivo existe em algum lugar em um estado compactado (pense em enviar um arquivo mp3 de 200GB: Você precisa de 190 GB de espaço livre?).

    
por 03.08.2012 / 14:38
1

A principal razão pela qual isso não é possível é devido à natureza de rsync . Na página man :

It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination.

A menos que seja a primeira vez que você está transferindo esses arquivos, apenas as alterações serão enviadas. Se você pudesse de alguma forma salvar o fluxo de dados, você acabaria com uma espécie de arquivo diff compactado, que não seria de uso particular.

Compacte os arquivos antes de passá-los para rsync .

    
por 03.08.2012 / 18:56