使用 shell 脚本检查 rsync 是否做出任何更改

使用 shell 脚本检查 rsync 是否做出任何更改

我有一个 bash 脚本,用于 rsync 两个目录。有时会发生变化,但很可能什么都没有。

我想仅当 rsync 实际进行了更改(添加/更新文件)时才运行命令。否则我只想跳过它。我应该查看返回响应吗?

答案1

如果您使用 -i 选项(而不使用 -v 选项),rsync 将仅将所做的任何更改打印到 STDOUT。根据您的脚本,这可能看起来像

if [ -n "$(rsync -i /dir1 /dir2)" ]; then
  run_command;
fi

相关内容