【问题标题】:Crontab Linux not running at specific timeCrontab Linux 未在特定时间运行
【发布时间】:2020-08-03 01:53:19
【问题描述】:

我有一个每天早上 7 点运行的 crontab 作业。 我已经设置好了

0 7 * * * /usr/bin/curl http://localhost//blablaba

没用

但如果我将其替换为

    */10 * * * * /usr/bin/curl http://localhost//blablaba

然后它每 10 分钟运行一次。但是如果我给一个特定的时间它就不起作用

为了您的信息,我已经检查了服务器时间,它显示了正确的时间

感谢您的帮助:(

【问题讨论】:

  • 你想每天运行两次,我的意思是在晚上 7 点和早上 7 点?
  • 早上 7 点才一次。但它没有运行。如果我每 10 分钟设置一次,那么它的工作@jilesh
  • 请试试这个 * 7 * * * /path_to_your_script 代替 0 7 * * * /path_to_your_script
  • 我试过这个 * 13 * * * 但它仍然没有工作@jilesh
  • 所以请检查您的网址,我认为在您的服务器中定义它有任何错误

标签: php linux crontab


【解决方案1】:

您的 cron 表达式看起来正确。 因为它遵循这种格式:

minute hour day-of-month month day-of-week [user] command
  0     7       *          *       *              /usr/bin/curl http://localhost//blablaba

PS:如果您使用的是 /etc/crontab 文件而不是用户特定的 crontab,则需要添加一个用户字段。

因此,如果您的 cron 作业是在 /etc/crontab 文件中定义的,那么您需要在您的 cron 作业中添加一个用户字段以使其运行。如果不是这种情况,请在客户端和服务器端检查您的 URL。

但是,我认为最好的办法是调试 cron 作业。因此,您需要通过执行以下操作来启用 cron 作业的日志记录:

如果你在Ubuntu:

sudo vi /etc/rsyslog.d/50-default.conf

如果你在CentOS:

sudo vi /etc/rsyslog.conf

如果有注释,请取消注释:

#cron.*                         /var/log/cron.log

然后重启rsyslog和cron:

sudo service rsyslog restart
sudo service cron restart or sudo service crond restart

现在您可以检查/var/log/cron.log 文件中的日志消息,看看是否有任何问题。

【讨论】:

  • 我很高兴它有帮助:)
【解决方案2】:

试试这个

0 0/10 * 1/1 * ? * /usr/bin/curl http://localhost//blablaba

请查看http://www.cronmaker.com/

【讨论】:

    【解决方案3】:

    你也可以试试这个 您必须在 phpMyAdmin 中检查您的服务器时间 第 1 步:单击 phpMyAdmin。 第 2 步:不选择数据库/表运行此 SQL 查询“SELECT NOW()”

    在这里,您将以 24 小时格式获取服务器的当前时间。现在您可以根据服务器时间设置cron作业了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-11
      • 2021-08-14
      • 1970-01-01
      • 2010-09-05
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      相关资源
      最近更新 更多