我想在python中创build一个crontab包装,logging一个crontab条目是否失败。 它应该可以这样使用:
0 * * * * cronwrapper -c "some_command | some_other_command & third_command 2>/dev/null && fourth_command"
logging部分很容易,已经完成。 但是,我不知道如何可靠地检测pipe道中的任何一个命令或逻辑分支和分支是否失败。
不,在上面的例子中没有办法可靠地检测到所有命令的退出代码。
为什么不能在一个小的bash脚本中添加所有4个命令,并使用:
0 * * * * cronwrapper -c "script.sh"
这样,你将能够更好地处理脚本中的任何错误
您可能pipefail为some_command | some_other_command启用bash pipefail some_command | some_other_command
查看下面相同pipe道的退出代码的区别
$ set -o | grep pipefail pipefail off $ ls bla &> /dev/null | echo aa aa $ echo $? 0 $ set -o pipefail $ set -o | grep pipefail pipefail on $ ls bla &> /dev/null | echo aa aa $ echo $? 1