如何将命令的成功(或失败)传递给变量?

如何将命令的成功(或失败)传递给变量?

我正在跑去rsnapshot备份我的 NAS。我将命令的输出(例如等)转发rsnapshot hourlyrsnapshot daily/tmp/rsnapshot_stats_hourly。在另一个脚本中,我想根据命令的结果/统计文件中的内容定义一个变量。因此,我想将变量定义"$status""success""failure"基于执行 rsnapshot 时是否有错误。

有人可以帮我解决这个问题吗?不幸的是,我在这方面的技能非常低。谢谢。

答案1

正如问题评论中所示男子快照说:

退出价值

       0  All operations completed successfully

       1  A fatal error occurred

       2  Some warnings occurred, but the backup still finished

所以你可以修改你的命令行,例如:

rsnapshot ... with_all_arguments ; [ $? == 0 ] && rm -f flag.file || touch flag.file

或者相同:

if rsnapshot ... with_all_arguments ; then
    rm -f flag.file 
else 
    touch flag.file
fi

从其他脚本中只需检查标志文件存在。

好多了使用 rsnapshot 的日志选项并检查日志文件。

相关内容