2

Я использую (пытаюсь) gzip для сжатия файла SQL с помощью rsyncable, чтобы передать резервную копию с минимальной задержкой.

Однако, похоже, что это не работает, так как ускорение всегда составляет 1,00.

Архив создается путем выгрузки базы данных в файл .sql и последующего gzip -f3 --rsyncable file.sql .

Затем удаленная машина выполняет rsync для последней резервной копии со следующими флагами:

rsync -avhhiP --inplace

Почему мое ускорение может быть 1,00? Не следует ли мне каждый раз воссоздавать архив и вместо этого обновлять его? Я не видел упоминаний об этом методе в онлайн-руководстве по использованию флага --rsyncable.

Я использую:

# gzip -V
gzip 1.5

2 ответа2

5

Вопрос уже несколько устарел, но, возможно, мой ответ все еще помогает одному или другому:

В Debian Wheezy есть вышеупомянутая ошибка в gzip, из-за которой --rsyncable -flag не работает.

Смотрите соответствующую ошибку Debian.

Вы можете использовать pigz в качестве замены, которая представляет собой заменяющее gzip замещение, которое использует несколько процессоров, может сжимать немного более эффективно, если вы вручную указываете больший размер блока и официально обеспечивает реализацию --rsyncable которая должна быть лучше, чем предоставленная с помощью патча gzip .

Кроме того, параметр rsync s --inplace снижает эффективность алгоритма дельта-передачи - чтобы процитировать man-страницу:

Эффективность алгоритма дельта-передачи rsync может быть снижена, если некоторые данные в целевом файле будут перезаписаны, прежде чем их можно будет скопировать в позицию позже в файле. Это не применяется, если вы используете --backup , так как rsync достаточно умен, чтобы использовать файл резервной копии в качестве базового файла для передачи.

0

Я потратил много времени, пытаясь понять, почему --rsyncable не работает для меня в Ubuntu 12.04 и gzip 1.4, прежде чем наткнуться на это: https://bugs.launchpad.net/ubuntu/+source/gzip/+bug/1021975

Похоже, что в пакете ubuntu 1.4 есть регрессия, что означает, что исправление rsyncable не было должным образом включено в релиз, несмотря на то, что оно было указано в gzip --help . Я не уверен, влияет ли это на другие дистрибутивы или версии Ubuntu.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .