【问题标题】:Is cron job/scheduled task service enabled?是否启用了 cron 作业/计划任务服务?
【发布时间】:2011-12-09 10:32:43
【问题描述】:

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

这个网站是一个机构的,我不能把它放在任何其他主机...

主机正在使用 Apache。

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

编辑

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

【问题讨论】:

  • 您对此服务器有什么访问权限?
  • 几乎没有。只有客户端权限。 =S

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


【解决方案1】:

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

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

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

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

【讨论】:

  • 我会询问该机构是否有 SSH,但至少我知道他们没有任何网络界面 =S。如果他们没有 SSH 访问权限,我将使用外部服务。谢谢你的回复=D。
【解决方案2】:

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

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

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

【讨论】:

  • 我认为有可能使用一个函数,但是在我的情况下我不能真正使用它......无论如何谢谢=)
【解决方案3】:

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

ps -ef | grep cron

然后你需要创建一个文件来处理电子邮件地址的提取和发送邮件。

并且还需要在 cron 中添加类似这样的内容(它只是一个示例,在每个星期天 23 点发送一些内容):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-26
    • 2014-05-16
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2018-06-04
    相关资源
    最近更新 更多