无法在我的 Linux 服务器上触发 Cron 事件
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我建议检查文件权限。应设置 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.
听起来环境可能有所不同;尝试类似/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.
我将此行添加到
/etc/crontab
这每分钟都会创建输出,帮助我追踪问题。最后我在剧本中出现了一个错字。
谢谢大家的帮助!!
I added this line to
/etc/crontab
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!!