@radius, второстепенная идея о том, как gzip
работает, - gzip
это алгоритм сжатия на основе блоков, причем довольно простой. Весь файл не рассматривается для таблицы сжатия - только каждый блок. Другие алгоритмы могут использовать все содержимое файла, и есть несколько, которые используют содержимое нескольких блоков или даже блоков переменного размера. Один увлекательный пример lrzip
того же автора, что и rsync
!
Тощий по gzip
российскому алгоритму .
Итак, в итоге, использование rsync -z
, скорее всего, даст такое же сжатие, как gzip
и первое - и если вы делаете дифференциальную передачу, лучше из-за rsync
алгоритма сравнения.
Тем не менее, я думаю, что каждый найдет, что обычные scp
удобные удары rsync
для недифференциальных передач - потому что это будет иметь гораздо меньше накладных расходов, чем rsync
алгоритм (который scp
в любом случае будет использовать скрытое!)
Если ваша сеть действительно становится узким местом, то вы хотите использовать компрессию на проводе.
Если ваши диски являются узким местом, то лучше всего потоковую передачу в сжатый файл. (например, netcat
с одной машины на другую, потоковая передача в gzip -c
)
Обычно, если скорость является ключевым фактором, сжатие существующего файла заранее неэффективно.
TIMTOWTDI, YMMV, IANAL и др.