首页 > 解决方案 > Cron 未运行任务 Ubuntu 18.04

问题描述

我到处搜索并花了几个小时尝试各种解决方案,但似乎没有任何效果......正如标题所解释的,cron 根本不会在我的 Ubuntu 18.04 机器上执行命令。

我的/etc/crontab文件如下所示:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
*/1 *     * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

我的测试脚本是一个简单的 echo 'Hello world' 脚本(名为echo),它包含在/etc/cron.hourly

#!/bin/sh
echo 'Hello world'

从任何目录调用run-parts /etc/cron.hourly都会按预期将“Hello world”打印到控制台,但该任务似乎从未由 cron 执行。我还有一个脚本可以自动备份 MySQL 数据库cron.hourly。这也会在调用时执行并生成预期的文件run parts,因此这不仅仅是 cron 不显示echo调用的问题。但是,Cron 显然在做某事,因为我在以下输出中得到以下输出/var/log/syslog

...
Mar 25 03:05:01 ip-172-31-32-110 CRON[10077]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:06:01 ip-172-31-32-110 CRON[10108]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:07:01 ip-172-31-32-110 CRON[10122]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:08:01 ip-172-31-32-110 CRON[10149]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 25 03:09:01 ip-172-31-32-110 CRON[10162]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

我尝试过的其他一些事情:

这让我非常头疼,所以我非常感谢任何关于此事的帮助!

标签: ubuntucron

解决方案


好的,我在发布之前没有尝试过这个,我感到非常愚蠢。使用crontab -e(不带sudo)并将命令放在那里解决了这个问题。

如果有人能解释这背后的原因,我仍然很感激。


推荐阅读