如何在亚马逊Linux AMI上设置定时任务(Cron Job)

14

我正在托管Tiny Tiny RSS站点,托管在

Amazon Linux AMI

为了自动更新订阅源,我必须运行以下Cron作业。

参考 http://tt-rss.org/redmine/projects/tt-rss/wiki/UpdatingFeeds

*/30 * * * * /usr/bin/php /var/www/html/tt-rss/update.php --feeds --quiet

这是我所做的步骤:

sudo su
cd /etc
crontab -e
# add this line 
*/30 * * * * /usr/bin/php /var/www/html/tt-rss/update.php --feeds --quiet

但是我仍然收到了消息“更新守护程序没有运行”。

我想知道,这是 Cron 工作的正确步骤吗?


你能发布这个命令的结果吗?$ /usr/bin/php /var/www/html/tt-rss/update.php --feeds - mrcrgl
这看起来像是每30分钟运行一次并在完成后停止,而不是守护进程。不幸的是,提供的链接实际上没有链接到说明文档。 ;) - DanielM
6个回答

9
您需要在亚马逊Linux 2上输入以下命令:
sudo systemctl start crond
sudo systemctl enable crond

1
我得到了以下信息: sudo systemctl start crond sudo: systemctl: command not found sudo systemctl start crond sudo: systemctl: command not found - Gal Bracha
也许你正在使用亚马逊 Linux 1,但它可以在最新的亚马逊 Linux 2 上运行。 - Saeed Ir
1
尝试了最新的Amazon Linux 2。 - Gal Bracha
1
如果你已经运行了sudo su -,那么在命令中就不需要包含“sudo”。 - zeros-and-ones

5
这听起来像是 crond 没有运行。如果是这样的话:
service crond start
chkconfig crond on

4

你应该首先检查cron日志文件/var/log/cron并查找任何错误。这可能会给你答案。此外,请确保您可以在命令行上成功运行以下命令(/usr/bin/php /var/www/html/tt-rss/update.php --feeds --quiet)。


1
请检查空格,可能是由于空格未正确放置。

1
只需执行以下操作:* * * * * wget -o - -q -t 1 "您带有cron文件的url"

0
请从你的cron命令中移除“--quiet”部分,然后再次检查日志和反馈。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接