CRON无法在Amazon EC2中运行?

时间:2017-09-13 09:30:29

标签: php linux amazon-web-services amazon-ec2 cron

另一篇文章描述了一种测试cron是否正在运行的方法是使用这个脚本创建一个crontab -e:

* * * * * /usr/bin/uptime > /tmp/uptime

当我去检查cron cat / tmp / uptime时没有结果。具有直接路径到php的测试脚本也是如此。

我正在运行运行Amazon Linux的AWS。

我检查了cron是否甚至与chkconfig --list crond一起运行 结果:

crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off

更新(基于评论)

[ec2-user@ip-xxx-xxx ~]$ service crond status
crond (pid  2844) is running...
[ec2-user@ip-xxx-xxx ~]$ ps aux | grep crond
root      2844  0.0  0.2 121636  2572 ?        Ss   Sep04   0:01 crond
ec2-user  7904  0.0  0.2 110468  2096 pts/0    S+   22:46   0:00 grep --color=auto crond

为了安全起见我用这个命令手动启动了cron:

sudo service crond start

我也尝试了sudo su并在ec2-user和root中创建了实例。似乎没有什么能真正运行cron。

有没有人有任何建议?似乎Cron在其他地方的文档已有几年的历史了。提前谢谢。

参考:

Setting Up Cron in Amazon Linux AMI

5 个答案:

答案 0 :(得分:2)

你检查一下cron守护进程状态吗?

$ service crond status
crond (pid xxx) is running...
$ ps aux | grep crond
root      2533  0.0  0.1 119552  1784 ?        Ss   Apr04   1:57 crond
ec2-user 22203  0.0  0.2 110460  2084 pts/0    S+   09:37   0:00 grep --color=auto crond

然后,如果cron守护程序似乎没有运行,你可以启动它

$ service crond start

答案 1 :(得分:0)

验证是否已安装procps软件包(该软件包提供正常运行时间命令)

sudo yum install procps

同时验证您的cron作业是否已保存

crontab -l

答案 2 :(得分:0)

执行以下操作:

sudo service crond reload

sudo service crond restart

这可能发生在VPS服务器上,在进行crontab修改后,您可能需要重新加载它才能进行修改。在更糟糕的情况下,crond restart将停止服务并再次启动它。希望有所帮助。

答案 3 :(得分:0)

     [ec2-user@ip-172-31-47-191 ~]$ sudo crontab -l
no crontab for root
[ec2-user@ip-172-31-47-191 ~]$ sudo crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[ec2-user@ip-172-31-47-191 ~]$ sudo crontab -l
* * * * * /usr/bin/uptime > /tmp/uptime

[ec2-user@ip-172-31-47-191 ~]$ /usr/bin/uptime
 23:05:09 up 284 days, 12:52,  1 user,  load average: 0.01, 0.02, 0.05
 [ec2-user@ip-172-31-47-191 ~]$ ls -l /tmp
total 4
drwx------. 2 oracle dba   6 Sep  7 11:03 mc-oracle
drwx------. 2 root   root  6 Sep  7 11:01 mc-root
-rw-r--r--. 1 root   root 71 Sep 14 23:05 uptime
 [ec2-user@ip-172-31-47-191 ~]$ more /tmp/uptime
 23:05:01 up 284 days, 12:52,  1 user,  load average: 0.01, 0.02, 0.05
 [ec2-user@ip-172-31-47-191 ~]$  service crond status
Redirecting to /bin/systemctl status  crond.service
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-04-20 03:07:03 EDT; 4 months 26 days ago
 Main PID: 16998 (crond)
   CGroup: /system.slice/crond.service
           └─16998 /usr/sbin/crond -n

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
[ec2-user@ip-172-31-47-191 ~]$ 191 ~]$

答案 4 :(得分:-1)

检查/ var / log / cron logfile以验证您的命令是否正在运行。