无法在我的 Linux 服务器上触发 Cron 事件

发布于 2024-09-28 22:54:10 字数 753 浏览 2 评论 0原文

我有一个 Amazon EC2 Linux 微型实例服务器,我需要在其上触发一个每小时的进程。我选择使用 crontab 但无法启动它。

我在 /etc/cron.hourly 中放置了一个 *.sh 文件

  • 如果我运行 $ sh /etc/cron.hourly/notify.sh 脚本将按预期运行。
  • 我检查了 cron 服务是否正在运行,确实如此。
  • 位于 notify.php 日志的末尾,

我已经检查了 crontab 内容在调用它时 这样我就可以知道该服务从未运行。 有什么想法吗?

感谢

内容:/etc/cron.hourly/notify.sh

curl localhost/notify.php

内容:/etc/crontab

SHELL=/bin/bash  
PATH=/sbin:/bin:/usr/sbin:/usr/bin  
MAILTO=root   HOME=/       

# run-parts  
01 * * * * root run-parts /etc/cron.hourly  
02 4 * * * root run-parts /etc/cron.daily  
22 4 * * 0 root run-parts /etc/cron.weekly  
42 4 1 * * root run-parts /etc/cron.monthly 

I have a Amazon EC2 Linux micro instance server that I need to fire an hourly process on. I have chosen to use crontab and cannot get it to fire.

I placed a *.sh file in the /etc/cron.hourly

  • If I run $ sh /etc/cron.hourly/notify.sh the script behaves as expected.
  • I have checked to see if the cron service is running and it is.
  • I have checked crontab contents are at the end

notify.php logs when it is called so I can tell that the service is never running.
Any ideas?

Thanks

contents of: /etc/cron.hourly/notify.sh

curl localhost/notify.php

contents of: /etc/crontab

SHELL=/bin/bash  
PATH=/sbin:/bin:/usr/sbin:/usr/bin  
MAILTO=root   HOME=/       

# run-parts  
01 * * * * root run-parts /etc/cron.hourly  
02 4 * * * root run-parts /etc/cron.daily  
22 4 * * 0 root run-parts /etc/cron.weekly  
42 4 1 * * root run-parts /etc/cron.monthly 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

路还长,别太狂 2024-10-05 22:54:10

我建议检查文件权限。应设置 x 位。另一件事是脚本第一行中的 #!/bin/sh 。最后一项可能没有必要。

I'd recommend to check the file permissions. x-bit should be set. Another thing is #!/bin/sh in the first line of your script. Last one probably isn't necessary.

ˇ宁静的妩媚 2024-10-05 22:54:10

听起来环境可能有所不同;尝试类似/bin/echo hello world(使用which来查找他们的echo)。如果有效,则可能是 $PATH 问题。

Sounds like the environment might differ; try something like /bin/echo hello world (use which to find their echo). If that works, it's probably a $PATH problem.

千秋岁 2024-10-05 22:54:10

我将此行添加到 /etc/crontab

* * * * * root curl /etc/notify.sh >>/var/log/cron.log

这每分钟都会创建输出,帮助我追踪问题。最后我在剧本中出现了一个错字。

谢谢大家的帮助!!

I added this line to /etc/crontab

* * * * * root curl /etc/notify.sh >>/var/log/cron.log

This created output ever minute that helped me track down the issue. In the end I had a typo in the script.

Thanks for everyone's help!!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文