Сжатие файлов из SCP на лету
Я извлекаю большие файлы с помощью SCP (из системы linux в систему Windows), теперь есть какой-нибудь способ сжать этот файл назначения на лету, например:
pscp -C root@123.123.123.123:/backups/backup1.bin Backups\backupdestination.bin
Таким образом, "backupdestination.bin" будет сжат на диске назначения на лету.
например, C:\backups\backupdestination.zip вместо C:\backups\backupdestination.bin
2 ответа
Я бы предложил rsync
, поскольку он имеет встроенный флаг сжатия.
Со страницы руководства rsync ( http://linux.die.net/man/1/rsync):
-z, --compress compress file data during the transfer
--compress-level=NUM explicitly set compression level
Не используйте scp, используйте ssh:)
Затем целевая машина может "поймать" данные. Для вашего примера:
ssh root@123.123.123.123 "cat /backups/backup1.bin"|gzip -9 -|Backups\backupdestination.bin
Вся эта схема будет работать со всем, что может принять непрерывный поток данных из stdin
а затем обработать его. Однако мне неизвестно об этом инструменте, который создает файлы ZIP. В частности, потому что ZIP-файлы содержат метаданные, такие как имя файла и метка времени.