1

我有一些每天从我的 cPanel 运行的 cron 作业。这意味着 99% 的时间我每天都会收到电子邮件说一切正常 - 备份正常,xml 导入正常等。

但是我需要的是在 cron 的结果不正常时发出通知 - 即不正常。我曾尝试在 Outlook 中制定规则,但无法使其发挥作用。

例如,这是我的一个 crons:

30 2 * * * /usr/local/bin/php /home/xx/public_html/administrator/xx/xx/backup.php -profile=1  -description="Backup"

我知道“Bash”有可能,但不知道如何实际使用它。

有人有好主意吗?

输入赞赏。

4

1 回答 1

0

您可以围绕作业编写包装器,并从 cron 调用包装器。

例子:

#!/usr/bin/env ksh

#
# 包装备份脚本。
#
# 将所有输出重定向到日志文件
# 在这种情况下到 /home/xx/public_html/administrator/xx/xx/backup_job.log

#
# 让我们在日志文件中记录作业的开始日期
#
echo "在`/bin/date`开始备份作业" >> /home/xx/public_html/administrator/xx/xx/backup_job.log

#
# 开始备份
#
/home/xx/public_html/administrator/xx/xx/backup.php >> /home/xx/public_html/administrator/xx/xx/backup_job.log

#
# 备份作业应该设置了一个返回值(0 或非零)。
#
# 如果它不为零,那么就有一个错误。让我们发送一封关于它的警告邮件
#
#
如果 [[ $? -ne 0 ]]; 然后
 /bin/邮件管理员 > /var/adm/backup_log

#
# 以 0 值退出。这应该表明这项工作(包装器)工作正常
# 通常这意味着 cron 不必发送邮件。(但是,我们已经小心了
# 如果有错误,我们赢了的警告邮件
#
出口 0
于 2013-03-28T16:46:02.933 回答