新しいファイルのみを同期する方法

新しいファイルのみを同期する方法

新しく作成されたファイルをリモートサーバーに追加して、デフォルトの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はターゲット上のすべてのファイルをスキップします。そして、修正時間はソースファイルよりも最新です。。 (既存のファイルの変更時間が元のファイルと同じ場合、サイズが異なるとファイルが更新されます。)

おすすめ記事