使用 shell 脚本检查 rsync 是否进行了任何更改

rac*_*ura 10 unix bash rsync unix-shell

我有一个 bash 脚本,它包含 rsync 的两个目录。有时会发生变化,很可能什么都没有。

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

小智 12

如果您使用 -i 选项(并且不使用 -v 选项),rsync 只会将行打印到 STDOUT 以进行任何更改。根据您的脚本,这可能看起来像

if [ -n "$(rsync -i /dir1 /dir2)" ]; then
  run_command;
fi
Run Code Online (Sandbox Code Playgroud)

  • 使用 `-i` 标志 - rsync 版本 `3.1.1` 在未进行任何更改时输出`发送增量文件列表`。 (3认同)