我使用inotify-tools
和unison
在机器之间同步文件夹。因为我有一个很大的文件夹要同步,所以我只需编写一个inotifywait
脚本即可自动完成该工作。让inotifywait
监视大文件夹的子目录以获得更好的性能是否明智?
如果您放弃inotify-tools
,并且使用unison的本机支持来监视文件夹中的更改,则应该会获得更好的性能。通过使用inotify-tools
,然后在发生更改时调用unison
,在同步之前,unison
必须“ 重新查找”更改。您可以改为将行repeat = watch
添加到您的统一配置文件中,并且unison
将连续运行并在发生任何更改时进行同步。它使用自己的文件监视程序实用程序unison-fsmonitor
检测更改,该实用程序直接与统一通信。
有关更多信息,请在the latest changelog for unison 2.48.3 进行重大更改的情况下签出unison-fsmonitor
。
直到现在,ubuntu软件包才提供[unison-fsmonitor
:
如果您想在本地快速下载
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