Повышение производительности с помощью инструментов inotify и унисон.
Я использую inotify-tools
а также unison
синхронизировать папки между машинами. Поскольку у меня есть большая папка для синхронизации, я просто пишу inotifywait
скрипт для выполнения работы автоматически. Разумно ли inotifywait
контролировать подкаталоги большой папки, чтобы получить лучшую производительность?
1 ответ
Вы должны получить лучшую производительность, если вы бросите inotify-tools
и просто используйте встроенную поддержку Unison для отслеживания изменений в ваших папках. Используя inotify-tools
а потом звонит unison
когда происходит изменение, unison
должензаново найти изменения, прежде чем они синхронизируются. Вы могли бы вместо этого добавить строку repeat = watch
в ваш унисон профиль и unison
будет работать постоянно и синхронизироваться всякий раз, когда есть изменения. Он обнаруживает изменение с помощью своей собственной утилиты наблюдения за файлами unison-fsmonitor
который общается напрямую с унисон.
Для получения дополнительной информации ознакомьтесь с последним журналом изменений для Unison 2.48.3 с основными изменениями в unison-fsmonitor
,
В unison-fsmonitor
до сих пор не предоставляется пакетом ubuntu:
- https://bugs.launchpad.net/ubuntu/+source/unison/+bug/1558737
- https://github.com/bcpierce00/unison/issues/208
Если вы хотите быстро на месте
UNISON_VERSION=2.51.2
echo "Install Unison." \
&& apt install wget ocaml
&& pushd /tmp \
&& wget https://github.com/bcpierce00/unison/archive/v$UNISON_VERSION.tar.gz \
&& tar -xzvf v$UNISON_VERSION.tar.gz \
&& rm v$UNISON_VERSION.tar.gz \
&& pushd unison-$UNISON_VERSION \
&& make \
&& cp -t /usr/local/bin ./src/unison ./src/unison-fsmonitor \
&& popd \
&& rm -rf unison-$UNISON_VERSION \
&& popd