今、次のコマンドがあります。
my_dir="$HOME/foo/bar";
rm -rf "$my_dir/WebstormProjects/";
rsync -r --exclude=".git" --exclude="node_modules" "$HOME/WebstormProjects/" "$my_dir/WebstormProjects/"
"$my_dir/WebstormProjects/"
rsync
すべてを削除してからコピーするのではなく、ファイルが最新の場合にのみ上書きするのと同じ機能を使用したいと思います。だからこんな感じ:"$my_dir/WebstormProjects/"
"$HOME/WebstormProjects/"
my_dir="$HOME/foo/bar";
rsync -r --newer --exclude=".git" --exclude="node_modules" "$HOME/WebstormProjects/" "$my_dir/WebstormProjects/"
ターゲットファイルよりも最新のファイルのみコピーできますか?
私はいくつかの本を読みました: https://www.tecmint.com/sync-new-changed-modified-files-rsync-linux/
それは言う:
デフォルトでは、rsyncは新しいファイルまたは変更されたファイルのみをソースからターゲットにコピーします。
相対ファイルパスを比較してそれを行うとしますか?同じパス/名前を持つファイルは同じと見なされますか?
答え1
これがrsyncのデフォルト動作です。ファイルサイズと最後の修正サイズを確認してください。
チェックサムを使用するには、-c
または--checksum
オプションを使用します(同じ効果)。マンページは次のとおりですここ興味を持つことができるオプションについて説明します。--size-only