Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 如何设置cronjob在条件失败时发送电子邮件?如何在本地ubuntu系统中进行测试?_Magento_Cron_Magento 1.7_Ubuntu 12.04 - Fatal编程技术网

Magento 如何设置cronjob在条件失败时发送电子邮件?如何在本地ubuntu系统中进行测试?

Magento 如何设置cronjob在条件失败时发送电子邮件?如何在本地ubuntu系统中进行测试?,magento,cron,magento-1.7,ubuntu-12.04,Magento,Cron,Magento 1.7,Ubuntu 12.04,我需要执行一个cronjob,当一个棘手的条件失败时发送电子邮件。Cronjob应该每天运行。以及如何在本地机器上测试cronjob(我使用的是ubuntu 12.04) 我已经为php设置了sendmail。邮件从magento发出 提前感谢。首先,要在ubuntu上从命令行运行PHP: sudo apt-get install php5-cli 在PHP中处理异常的方法是 try { } catch (Exception $e) { mail('test@example.com', '

我需要执行一个cronjob,当一个棘手的条件失败时发送电子邮件。Cronjob应该每天运行。以及如何在本地机器上测试cronjob(我使用的是ubuntu 12.04)

我已经为php设置了sendmail。邮件从magento发出


提前感谢。

首先,要在ubuntu上从命令行运行PHP:

sudo apt-get install php5-cli
在PHP中处理异常的方法是

try {
} catch (Exception $e) {
  mail('test@example.com', 'Error subject of thing failed', "Body of thing failed\n".print_r($e,1));
}
如果希望脚本在错误发生后停止,只需在mail()调用后放置一个die()或exit

但你的问题有点细节,因为我们不知道什么地方出了问题。可能只是您的PHP代码正在OS/文件系统中检查X,然后您只需要在找到条件时调用mail()

就cronjob方面而言,您需要这样做:

  • crontab-l>crontab.txt
  • 使用所选编辑器打开crontab.txt
  • 在crontab.txt的底部添加一行(下面的示例)
  • crontab crontab.txt
  • 然后运行crontab-l | less来检查新的crontab以确保它是正确的
  • 这将在服务器时间每天凌晨1:45运行

    45 1 * * * /usr/bin/php /path/to/script/to/run.php
    


    您可以通过手动运行脚本或将cronjob设置为在不久的将来而不是凌晨1:45启动来测试脚本

    谢谢joefresco。你的回答对我帮助很大。