是否启用了cron作业/预定任务服务?

时间:2011-12-09 10:32:43

标签: php apache cron scheduled-tasks job-scheduling

我正在创建一个需要cron作业或计划任务的网站,每周发送电子邮件,但问题是我不知道主持人是否支持它...

本网站适用于某个机构,我不能把它放在任何其他主机......

主持人正在使用Apache。

如果不支持,如何在不更改主机的情况下自动发送每周电子邮件?

修改

我忘了说我是cron工作的新手。

3 个答案:

答案 0 :(得分:1)

Apache与cron作业无关,因为在主机上运行的系统必须触发作业(然后可以调用在apache下运行的脚本)。

您是否有SSH访问权限?
将作业添加到/ etc / crontab文件或用户的cron文件中。

或者你有一些管理软件的Web界面(例如Plesk)? 在那里搜索Cron作业或计划任务的选项。

如果没有,您可以使用一些外部服务来调用您网站上的URL来触发http://www.setcronjob.com/之类的工作。

答案 1 :(得分:1)

首先,询问您的主机是否支持cron作业(它们应该是),检查您的面板(如果有),尝试设置一个并查看它是否有效等。

如果没有,一种可能的方法(除了查找将为您调用脚本的外部服务之外)是为您的代码添加一个函数,每当您的网站访问者输入特定代码时,该函数将被调用页面(例如索引)。在那里,您将检查工作日是否是您要发送电子邮件的那一天。如果是,则发送邮件,标记(例如数据库中的记录)以检查它是否已被发送。

当然,它不是理想的解决方案,所有其他(实际的crons或外部服务)都更好,但是因为它是一个解决方案,所以值得一提。

答案 2 :(得分:0)

您是否阅读过有关cron-daemon的文档? 此代码检查cron是否正在运行

ps -ef | grep cron

之后,您需要创建一个文件,可以处理电子邮件地址拾取和发送邮件。

还需要在cron上添加这样的东西(这只是一个例子,每个星期天,23点发送一些东西):

0 23 ? * 0 php /path/sendnewsletter.php