Linux crontab忽略了我的条目

时间:2013-09-04 07:21:32

标签: linux crontab

你好,所有人都是StackOverflow的人。

我遇到过以前从未尝试过的问题。 这是我的情况。

我以root用户身份进入我的专用服务器。我运行crontab -e,crontab文件现在打开了,我用这个简单的行写道:

* * * * * /usr/bin/touch /tmp/chekifworks.txt

然后我保存它并收到一条消息,表明安装了新的crontab作业。一切都很棒,除了它绝对没有。但猜猜怎么了!如果我改成它:

* * * * * /root/script.sh

而且/root/script.sh的内容只是touch /tmp/testing.txt 它仍然没有做任何事情。

crontab -l的输出:

* * * * * /usr/bin/touch /tmp/checkifworks.txt
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /etc/webmin/status/monitor.pl
@reboot /etc/init.d/shout

拜托,强大的神啊,帮助我解决这个问题,如果你需要,我很乐意提供你可能需要的任何信息。

更新:我做了chmod a+x /root/scrip.sh仍然没有好处。

2 个答案:

答案 0 :(得分:2)

检查/etc/rsyslog.conf中是否启用了cron log(取决于发行版)。

必须有一个cron.* /var/log/cron.log节(取决于发行版)。

添加(或取消注释)它,如果没有,则重新启动syslog /etc/init.d/rsyslog restart

将此条目1 * * * * root /usr/bin/touch /tmp/chekifworks.txt添加到cron。

检查/var/log/cron.log

中的错误

或者,您可以将>/tmp/my_cron.log 2>&1添加到cron条目,并在一分钟后检查错误/tmp/my_cron.log(如果您不想编辑rsyslog.conf,则检查两个错误{/ 1}}。

答案 1 :(得分:1)

在crontab中使用命令的完整路径通常是件好事。您应该使用以下内容。

* * * * * /usr/bin/touch /tmp/chekifworks.txt

cron运行的环境具有非常有限的PATH变量。

使用脚本(检查它是可执行的,顺便说一句),因为环境从cron转移到脚本,但仍然非常有限。