我对crontab很新,我今天才开始使用它。
我想要做的是相当简单的(我想。)我希望我的脚本可能导致的所有错误都邮寄给我自己,所有输出(无论是否成功)都要单独登录日志文件。
目前,它正在记录输出,但是我不知道从哪里开始让它通过电子邮件发送我的错误。
这是我到目前为止的代码:
MAILTO=mymail@myaddress.ca
# m h dom mon dow command
0,15,30,45 * * * * /path/to/script >> /path/to/log/$(date +\%m\%d\%H\%M)_f.log 2>&1
谢谢!
答案 0 :(得分:1)
我建议你将脚本封装在另一个脚本中。 您将此新脚本添加到cron
encap.sh内容:
#call your script
script.sh > /tmp/temp$$.log
#analyze results using /tmp/temp$$.log or $?
#send mail depending on results
#Log results
cat /tmp/temp$$.log >> /path/to/log/$(date +\%m\%d\%H\%M)_f.log
#or
mv /tmp/temp$$.log > /path/to/log/$(date +\%m\%d\%H\%M)_f.log
答案 1 :(得分:0)
尝试mailx。您需要传递〜/ .mozilla / firefox / xxxxx.default目录才能正常工作。
#! /bin/bash
MACHINE=$(hostname)
CURRENT_TIME=$(date +%Y-%m-%d_%H-%M-%S)
mailx -v -s "BACKUP FAILED" -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://smtp.server.com:587 -S from=name@server.com -S smtp-auth-user=name@server.com -S smtp-auth-password=namesecret -S ssl-verify=ignore -S nss-config-dir=/home/name/.mozilla/firefox/xxxxxxx.default/ name@server.com << EOF
Hello,
This message was sent by an automatic script. Please do not reply.
If you are reading this, it means that the machine $MACHINE could not connect to the External Backup Server.
Please check this situation.
Regards,
The $MACHINE Administrator.
EOF
答案 2 :(得分:0)
或者只是
* * * * * /.../script 2>&1 | tee script.log