在crontab centos中发送Sql错误的电子邮件

时间:2017-02-07 11:07:07

标签: mysql linux email crontab

我有一个运行在centos linux中的cron选项卡上的MySql脚本。

CALL some_stored_procedure();

有一个shell文件调用此MySql脚本,名称为 callsqlscript.sh

mysql -uusername -ppassword db_name < /home/scripts/SqlScrip.sql  >> /var/log/SqlscriptsLog.txt

这是我的crontab条目

*/1 * * * * root /opt/scripts/callsqlscript.sh 2>&1 | mail -s "SQL Errors" something@mydomain.com

我每分钟收到一封电子邮件。我希望只有在SQL脚本中运行任何错误时才会发送电子邮件。

有没有办法只收到有关错误的电子邮件。不是每次都

由于

1 个答案:

答案 0 :(得分:1)

只需使用1> /dev/null

即可

电子邮件的消息由命令的输出组成。如果没有,则不发送邮件。 输出由stdoutstderr

组成

所以将命令更改为

/opt/scripts/callsqlscript.sh 1> /dev/null 

您将stdout重定向到/dev/null(正常输出),同时保持stderr(错误)处于活动状态。如果在stderr中生成了任何内容,则会通过电子邮件发送到您的电子邮件地址