【问题标题】:Crontab suddenly stop working on server?crontab 突然停止在服务器上工作?
【发布时间】:2015-04-14 02:35:22
【问题描述】:

我在 linux 平台的服务器上设置了一些 crontab。在那之前 2 天所有的 cron 都在运行。我不知道 crontab 发生了什么,它们现在不工作了。

所有的 cron 之前都在运行,之后我添加了一个新的 crontab,但它们没有运行可能是这个问题,或者还有其他问题。

我已经检查了他们的许可,但没关系。

我添加的新 cron 看起来像这样:

*/15 * * * * php myproject/sendmail.php
30 5 * * * php myproject/sendmailOnDiscount.php
* */1 * * * php myproject/sendInvitaion.php

最后一个已添加,在此之前另一个运行良好。 添加 crontab sendInvitation.php 后,crontab 已停止工作。

谁能告诉我为什么 crontab 现在不工作了。(所有的 crontab 都停止工作了)

【问题讨论】:

  • 好吧,鉴于php myproject/sendInvitaion.php 似乎有错字,请先检查一下。
  • sendInvitation.php 意味着每小时运行一次。您是否尝试过使用 '0 * * * * php myproject/sendInvitation.php' 如此处所示stackoverflow.com/questions/3474280/…
  • @SINGHKD 你的脚本是手动运行的吗?
  • 是的@Miya G 手动运行...谢谢
  • @arshan 谢谢,但是为什么所有的 crontab 都停止运行,甚至所有的 cron 都手动运行。

标签: php linux cron crontab


【解决方案1】:

可能是关闭了,你可以用这个命令打开它

service crond start

【讨论】:

  • 谢谢,但是当我检查 pgrep cron 时,它会给出一个 pid。但在那之前所有的 crontab 都在运行
  • 你可以查看cron日志tail -fn 100 /var/log/cron
  • 日志中没有文件的 cron 文件夹......我还能在哪里检查日志......谢谢
【解决方案2】:

这个问题的发生主要是由于脚本文件的权限和脚本文件的所有权。我也面临同样的问题。我发现我的脚本所有者不是超级用户,例如根。

因此,您必须将您的脚本的权限和所有权设置为超级用户。在下面找到。

首先以超级用户身份编辑您的 crontab。(在 RHEL 中如下所示)

[abc@host] crontab -e

并保存 crontab :wq!

现在为脚本设置权限

[abc@host] chmod +x script.sh
[abc@host] chown root:root script.sh

现在重新启动您的 crontab。(在 RHEL 中,如下所示)

[abc@host] /etc/init.d/crond restart

【讨论】:

  • 但是为什么它阻止了所有其他在它之前运行的 cron。
  • 当您在 crontab 中进行编辑时,它会反映所有权或脚本,例如如果您要使用除 root 之外的其他用户来编辑 crontab。 crontab 在根级别用户上运行。
猜你喜欢
  • 2018-07-18
  • 2021-10-14
  • 1970-01-01
  • 2021-10-05
  • 2018-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多