我有一个 bash 脚本,用于 rsync 两个目录。有时会发生变化,但很可能什么都没有。
我想仅当 rsync 实际进行了更改(添加/更新文件)时才运行命令。否则我只想跳过它。我应该查看返回响应吗?
答案1
如果您使用 -i 选项(而不使用 -v 选项),rsync 将仅将所做的任何更改打印到 STDOUT。根据您的脚本,这可能看起来像
if [ -n "$(rsync -i /dir1 /dir2)" ]; then
run_command;
fi
我有一个 bash 脚本,用于 rsync 两个目录。有时会发生变化,但很可能什么都没有。
我想仅当 rsync 实际进行了更改(添加/更新文件)时才运行命令。否则我只想跳过它。我应该查看返回响应吗?
如果您使用 -i 选项(而不使用 -v 选项),rsync 将仅将所做的任何更改打印到 STDOUT。根据您的脚本,这可能看起来像
if [ -n "$(rsync -i /dir1 /dir2)" ]; then
run_command;
fi