新しく作成されたファイルをリモートサーバーに追加して、デフォルトのWebサーバーをリモートサーバーに同期させるようにrsyncを設定しようとしています。
これは私が使用するコマンドです:
rsync -avh --update -e "ssh -i /path/to/thishost-rsync-key" remoteuser@remotehost:/foo/bar /foo/bar
ただし、Webサーバーは「--update」フラグにもかかわらず、実際にすべてのファイルを転送したようです。さまざまなフラグの組み合わせを試しましたが(例:「-a」を省略して「-uv」を使用)、何も役に立ちませんでした。新しく追加されたファイルのみを送信するようにrsyncコマンドを変更するにはどうすればよいですか?
ベストアンサー1
からman rsync
:
--ignore-existing skip updating files that exist on receiver
--update
わずかに異なる操作を実行すると、予期しない結果が生じる可能性があります(参考資料を参照man rsync
)。
これにより、rsyncはターゲット上のすべてのファイルをスキップします。そして、修正時間はソースファイルよりも最新です。。 (既存のファイルの変更時間が元のファイルと同じ場合、サイズが異なるとファイルが更新されます。)