我有一个cronjob,每10分钟备份一次我的数据库。我想在备份失败时收到短信。
示例:
*/1 * * * * sudo /usr/local/sbin/mysql.sh 2>&1 | curl 'http:www.smsapi.com/user=username&pass=password&text=$errormsg'
目前它没有发送任何短信。如何将错误消息附加到curl? (我也尝试使用电子邮件而不是短信,但这也不起作用。)
答案 0 :(得分:0)
邮件:
mysql.sh 2>&1 | mail -s "Mysql backup" -E user@host
卷曲:
mysql.sh 2>&1 | curl "http:www.smsapi.com/user=username&pass=password&text=`cat -`"
请注意:使用命令将std输入转换为参数,使用双引号代替撇号和反引号。转换相当原始,它不会引用特殊字符的URL。
答案 1 :(得分:0)
只有在命令失败的情况下才需要使用双管command || error-handler
来调用错误处理程序。
我建议您反转逻辑command && success-handler
并使用https://www.anapioficeandfire.com/api/characters/957等服务为成功处理程序提醒您,以防丢失成功(即失败)。原因是cron作业本身无法运行,而在使用错误处理程序时,您无法发现它。
关于你的第二个问题,如何追加错误,你可以使用$?
访问以前的返回代码。