вопрос по Rsync

12
mnn
На сайте с 21.01.2008
Offline
71
mnn
1421

Делаю регулярный бэкап при помощи Rsync. Общее количество файлов, которые синхронизирую, порядка миллиона. Естественно, все файлы не нужно ежедневно перекачивать, т. к. лишь несколько тысяч из них изменяются/появляются/удаляются.

Каждый раз, перед синхронизированием, Rsync, как известно, составляет список файлов для передачи. Из-за большого количества файлов, эта процедура, длится час-два, при том, что непосредственно передача файлов занимает считанные минуты.

Вопрос: Можно ли сделать так, чтобы сократить время подготовки Rsync к передаче файлов?

Спасибо!

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Использовать теневое копирование вместо файлового

Не стоит плодить сущности без необходимости
Pavel.Odintsov
На сайте с 13.05.2009
Offline
169
#2
mnn:
Делаю регулярный бэкап при помощи Rsync. Общее количество файлов, которые синхронизирую, порядка миллиона. Естественно, все файлы не нужно ежедневно перекачивать, т. к. лишь несколько тысяч из них изменяются/появляются/удаляются.

Каждый раз, перед синхронизированием, Rsync, как известно, составляет список файлов для передачи. Из-за большого количества файлов, эта процедура, длится час-два, при том, что непосредственно передача файлов занимает считанные минуты.

Вопрос: Можно ли сделать так, чтобы сократить время подготовки Rsync к передаче файлов?

Спасибо!

Можно заставить ядро Линукса (если, конечно, используется он) самого сообщать о том, какие файлы изменились и потом синхронизировать только их, вот пример решения: http://phpsuxx.blogspot.com/2010/01/2627.html (правда требует патча ядра, что далеко не всегда и не для всех приемлемо).

Решение по обнаружению DDoS атак для хостинг компаний, дата центров и операторов связи: FastNetMon (https://fastnetmon.com)
M
На сайте с 16.09.2009
Offline
278
#3
Andreyka:
Использовать теневое копирование вместо файлового

Не просветите поподробнее?

Какие решения конкретно имеются в виду?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
mnn
На сайте с 21.01.2008
Offline
71
mnn
#4

Спасибо всем откликнувшимся!

Pavel.Odintsov, да система Линукс. Интересное решение, но может быть, что-то подобное можно сделать без вмешательства в ядро? (не повлечёт ли это за собой новые проблемы?)

P
На сайте с 08.03.2007
Offline
250
#5

Как вариант: те директории, которые часто меняются, копировать rsync как и раньше, а изменения в остальных отслеживать с помощью inotify (если достаточно редко там файлы меняются).

mnn
На сайте с 21.01.2008
Offline
71
mnn
#6

Pilat, Увы, невозможно разделить на часто-изменяемые и остальные директории, т. к. заранее неизвестно, какие из файлов будут изменены.

Pavel.Odintsov
На сайте с 13.05.2009
Offline
169
#7
Pilat:
Как вариант: те директории, которые часто меняются, копировать rsync как и раньше, а изменения в остальных отслеживать с помощью inotify (если достаточно редко там файлы меняются).

При большом числе контролируемых файлов / папок оно будет тормозить. Хотя, возможно, для случая ТС как раз подойдет.

Pavel.Odintsov добавил 07.03.2010 в 23:48

mnn:
Спасибо всем откликнувшимся!

Pavel.Odintsov, да система Линукс. Интересное решение, но может быть, что-то подобное можно сделать без вмешательства в ядро? (не повлечёт ли это за собой новые проблемы?)

Проблем не повлечет, там очень аккуратный патч. Но решение все же очень специфичное и вряд ли Вам подойдет, для единичной задачи это все же пушкой по воробьям :)

Как предложили выше, альтернативный вариант уже встроен во все ядра и называется inotify. Беглый поиск оп репо Дебияна выдает ряд интересных решений:


iwatch - realtime filesystem monitoring program using inotify
python-pyinotify - Simple Linux inotify Python bindings
inotify-tools - command-line programs providing a simple interface to inotify
gamin - File and directory monitoring system
mnn
На сайте с 21.01.2008
Offline
71
mnn
#8
Pavel.Odintsov:
При большом числе контролируемых файлов / папок оно будет тормозить.

Для грубого подсчёта можно взять 2 - 10 тысяч изменённых/добавленных/удалённых файлов между синхронизациями. Это много для отслеживания таким способом?

Pavel.Odintsov
На сайте с 13.05.2009
Offline
169
#9
mnn:
Для грубого подсчёта можно взять 2 - 10 тысяч изменённых/добавленных/удалённых файлов между синхронизациями. Это много для отслеживания таким способом?

Не думаю, даже почти уверен, что работать будет отлично. В моих словах "много" было от нескольких миллионов и выше :) Хотя стоп, а общее число файлов какое? Тут нагрузку создает не число измененных файлов, а число контролируемых.

P
На сайте с 08.03.2007
Offline
250
#10

А вообще откуда взялось много изменяющихся файлов? Может, имеет смысл подсократить как-то?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий