web-dev-qa-db-ja.com

シェルスクリプトを使用して、rsyncが変更を加えたかどうかを確認する

Rsyncの2つのディレクトリを含むbashスクリプトがあります。時々変化があり、オッズは何もないです。

Rsyncが実際に変更(ファイルの追加/更新)を行った場合にのみコマンドを実行したい。それ以外の場合はスキップしたいです。私が見なければならないリターンレスポンスはありますか?

10
raccettura

-iオプションを使用する場合(および-vオプションを使用しない場合)、rsyncは、加えられた変更についてのみSTDOUTに行を出力します。スクリプトによっては、次のようになります。

if [ -n "$(rsync -i /dir1 /dir2)" ]; then
  run_command;
fi
11
Greg D'Arcy