2017-02-07 3 views
0

私はcentos linuxのcronタブで実行されるMySqlスクリプトを持っています。crontab centosのSqlエラーで電子メールを送信

CALL some_stored_procedure(); 

私のcrontabエントリは、私はすべてのメールを取得しています

*/1 * * * * root /opt/scripts/callsqlscript.sh 2>&1 | mail -s "SQL Errors" [email protected] 

あり、ここで

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

callsqlscript.shで、このMySQLのスクリプトを呼び出すシェルファイルがあります分。 SQLスクリプトでエラーが発生している場合にのみ、電子メールを送信します。

エラーが発生した場合のみメールを受け取る方法はありますか?毎回は

おかげで

答えて

1

だけ1> /dev/null

を使用した電子メールのメッセージは、コマンドの出力で構成されていません。何もない場合、メールは送信されません。 出力がアクティブstderr(エラー)を維持しながら、あなたはstdout/dev/nullに(通常出力)リダイレクト

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

にだからあなたのコマンドを変更することにより、stdout

stderrで構成されています。 stderrで何かが生成された場合、それはあなたのメールアドレスに電子メールで送られます

+0

ありがとうございました。しかし、私はまだ何も内部の電子メールを取得しています。 –

+0

**ヌルメッセージ本文。希望はOKです** 私は電子メールでこれを取得しています –

関連する問題