0

大家好,StackOverflow 的所有优秀人士。

我以前从未尝试过的东西有问题。这是我的情况。

我以 root 身份 ssh 进入我的专用服务器。我运行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还是没有做好。

4

2 回答 2

2

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

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

添加(或取消注释)它并重新启动系统日志/etc/init.d/rsyslog restart,如果没有。

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

检查中的错误/var/log/cron.log

或者,>/tmp/my_cron.log 2>&1如果/tmp/my_cron.log您不想编辑rsyslog.conf.

于 2013-09-04T08:12:10.920 回答
1

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

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

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

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

于 2013-09-04T07:32:30.147 回答