Как "правильно" синхронизировать миллионы файлов с rsync и inotify?
Предположим, у меня есть 1 миллион файлов, список файлов будет примерно 20 МБ. Если я добавлю только один файл, inotify
скажет rsync
передать список файлов и новый файл. Моя сеть не в порядке, и мне, возможно, придется ограничить пропускную способность (--bwlimit
).
Несколько файлов могут быть добавлены одновременно, и, учитывая скорость передачи по сети, может быть запущено несколько rsyncs одновременно.
Стоит ли оно того? Есть ли способ лучше?
1 ответ
Ваш случай звучит именно так, для чего был создан lsyncd.
Он просматривает каталог с помощью inotify и запускает rsync только с измененными файлами.
Он объединяет изменения за несколько секунд.
Поэтому, если вы сделаете 5 изменений за одну секунду, он вызовет только один новый процесс синхронизации с целевым сервером.