rsyncで、特定のファイルを、更新したときだけ、コピーすることを考えてみた。-uでコピー元とコピー先を比較し、追加・更新されたファイル・ディレクトリのみをコピーします。
crontabで、5分間隔でチェックした場合
*/5 * * * * rsync -au --include="file.txt" --exclude="*" /mnt/windows/ /tenpu/
という具合でうまくいった。
リモートでもできるようだったが、面倒なので、共有を/mnt/windowsにマウントしている。
ポイントとして、コピー元の最後に/をつけるのを忘れないようにすること。(コピー先はつけてもつけなくてもいいらしい)
なかなか便利だが、いろいろ設定ができるため、使いこなすのもそれなりに知識がいる。
************
ちなみに、ディレクトリ内のすべてのファイルやその中のディレクトリ内も再帰的に指定したい場合は-rオプションをつかうようだが、-aオプションに含まれているらしい。-deleteはコピー元にない(削除された)ファイルをコピー先で削除します。コピー元とコピー先を同期します。-zで通信の圧縮が可能とか。
*/5 * * * * rsync -auz --delete /mnt/windows/ /tenpu/
といった具合にすれば5分間隔でフォルダ内のファイルの同期がとれる。
0 件のコメント:
コメントを投稿