我有一个运行在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脚本中运行任何错误时才会发送电子邮件。
有没有办法只收到有关错误的电子邮件。不是每次都
由于
答案 0 :(得分:1)
只需使用1> /dev/null
电子邮件的消息由命令的输出组成。如果没有,则不发送邮件。
输出由stdout
和stderr
所以将命令更改为
/opt/scripts/callsqlscript.sh 1> /dev/null
您将stdout
重定向到/dev/null
(正常输出),同时保持stderr
(错误)处于活动状态。如果在stderr
中生成了任何内容,则会通过电子邮件发送到您的电子邮件地址