2020-08-06
unisonで自動sync
一昨日、sshfsの設定を考えた時に、 unisonはどうかという感じになったので、 unisonが使えるかを調べた。
まず、アクセス先の制限なんだけど、 rsyncみたいに、コピー先が引数に渡ってるわけではなく、 たぶん、標準入出力を経由してわたってる。 なので、sshfsの時のようにchrootしないといけない。 が、こっちはsshdに内蔵された版がある訳ではないので、 ダイナミックリンクしてるのも含めてchrootに入れないといけない。 ちょっと大変そう。
普段は隔週でunisonを手実行してるんだけど、
自動化で実行したい、
crontabに書いてもいいんだけど、
unisonにはファイルシステムの変更を監視して、
同期するオプション(-repeat watch
)があったので、
これを試してみたが、
debianパッケージのunisonはこのオプションが有効にされていなかった。
他の手段として、n秒おきにチェックする事もできるらしい。(-repeat 10
)
しかし、手元の環境では普段のデータを交換しようとしたらサーバー側が固まってしまい動作しなかった。
どうも。-repeat 10をつけている場合、 手元では10秒おきにチェックだが、 サーバー側ではファイルシステムの監視が行われているようだ。
このプロセスをstraceしてみたところ、 リソース不足エラーが発生していた。
たぶん、ファイル数が多すぎると、監視しきれないのだと思う。
一旦空のディレクトリを同期してみたところ、問題なく同期できた。
まあ、sshfsのままでいいや、という感じ。
この記事へのご意見、ご感想、コメントは、
twitter
か下のフォーム(実験的)へどうぞ。