【问题标题】:Cron job twitterCron 工作推特
【发布时间】:2013-07-11 14:57:16
【问题描述】:

我有一个不寻常的问题。

我在 PHP 中创建了一个脚本,它将在 Twitter 上发布一条自动消息。该脚本运行良好。我还包含了一个 cron 作业,它将每小时重新激活脚本。

当我手动刷新脚本时,它可以完美运行,我已经为我的 cron 作业设置了每小时的电子邮件通知,以便它会告诉我作业是否成功。这项工作(作为页面的自动刷新)工作正常,但是我得到的响应是一个错误。

简而言之,我的 PHP 脚本和 cron 作业分别可以正常工作,但是当它们组合在一起时,它们就不起作用了。

我的 cron 作业命令是(我在 JustHost 上):

php -q /home1/MY_USERNAME/public_html/twitter/index.php

【问题讨论】:

  • 发布你的 cron 脚本。
  • 如果你能发布你得到的错误会很有帮助。
  • 检查 /var/log/cron/var/log/messages/var/log/syslog 是否有 cron 错误。
  • 请在此处搜索[php] cron。这似乎每天都会出现。祝你好运。
  • @Rainulf 我没有任何错误。它工作正常。 :|

标签: php unix cron twitter


【解决方案1】:

每小时的第一分钟:

1 * * * * wget -q --spider --timeout=0 --tries=1 http://yourdomain.com/twitter/index.php

【讨论】:

    【解决方案2】:

    尝试使用 wget 或 curl 调用 PHP。当前,您正在从 php 命令调用脚本。该脚本很可能归虚拟服务器的所有者所有(从路径上看,您的主机上有某种用户分区设置,例如 Virtualmin)。如果是这种情况,那么从 wget 或 curl 运行脚本可能会起作用,因为运行脚本的用户将成为脚本的所有者(在您的示例中:'MY_USERNAME')。

    这只是一个测试,但即使它不起作用,它也有助于消除 cron 作业的错误,缩小问题的根源。

    您可能知道这一点,但您也应该保护该脚本。目前它可以通过网络访问,这意味着有人可以敲击它,填满你的推特账户并向你发送电子邮件。干杯!

    【讨论】:

    • 请改进您的答案并说明为什么这可能会有所帮助(脚本是通过网络服务器执行的,例如,就像有人用户通过 HTTP 访问它的情况一样)
    猜你喜欢
    • 2013-07-12
    • 2012-09-13
    • 1970-01-01
    • 2012-08-09
    • 2017-05-23
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    相关资源
    最近更新 更多