1

我有一个 Amazon EC2 Linux 微型实例服务器,我需要启动一个每小时进程。我选择使用 crontab 并且无法启动它。

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

  • 如果我运行$ sh /etc/cron.hourly/notify.sh脚本,则按预期运行。
  • 我已经检查了 cron 服务是否正在运行,并且它正在运行。
  • 我检查了crontab内容在最后

notify.php 会在调用时记录下来,因此我可以判断该服务从未运行。有任何想法吗?

谢谢

内容:/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 
4

3 回答 3

2

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

于 2010-10-26T13:46:04.727 回答
1

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

于 2010-10-26T13:45:17.473 回答
1

我将此行添加到/etc/crontab

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

这每分钟都会产生输出,帮助我追踪问题。最后,我在剧本中有错字。

感谢大家的帮助!!

于 2010-10-26T17:41:11.653 回答