我的家庭服务器上有一个简单的脚本,可以将数据同步到要存储的备份驱动器。
现在它一个接一个地运行多个 rsync。
有时 rsync 会在其中一两个上失败。发生这种情况时,我希望它通过电子邮件告诉我它失败了,我已经通过电子邮件向我发送了报告,但是,我想知道它是否失败。
如果 Rsync 以非 0 代码退出,则表示失败。所以我需要一些简单的代码来检查 rsync 状态,如果它不是 0,则允许我执行一个操作。
有没有人对我如何实现这一目标有任何提示?谢谢你。
基本上你想使用变量$?。此变量包含上次运行命令的返回状态。
% /bin/false
% echo $?
1
% /bin/true
% echo $?
0
Run Code Online (Sandbox Code Playgroud)
您可以使用这些结构来运行rsync并在成功时向您发送邮件(echo true)或在失败时向您发送邮件(echo false)。
% /bin/false && echo true || echo false
false
% /bin/true && echo true || echo false
true
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
% rsync \
&& (echo "succeed" | mail -s "succeed" <email>) \
|| (echo "failure" | mail -s "failure" <email>)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7395 次 |
| 最近记录: |