返回列表 回复 发帖

crontab的任务不执行??

请问我的crontab任务怎么到时不执行呢?
------------------------
[root@jk shell]# /sbin/service crond status
crond (pid 757) 正在运行...
[root@jk shell]# crontab -l
58 21 * * * root touch /shell/test.log
[root@jk shell]#
------------------------
到了21点58分,却没有在/shell路径下建test.log文件。
请问是什么原因呢?
crontab -l
前面没有
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
吗?
我的测试是oK的。

另外检查
单独执行
touch /shell/test.log是否成功。
原帖由 lfree 于 2008-9-8 08:20 发表
crontab -l
前面没有
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
吗?
单独是能执行的。
请问上面的变量设置要加在哪里啊?我是用'crontab -e'新加了一个任务的。
crontab中不需要设置环境变量 ,你的/shell是绝对路径吗?
我又试了一下,把crontab中的root去掉,改为:58 21 * * * touch /shell/test.log
就能执行了。然后再把root加上,到时又不执行了。
这是怎么回事?不是需要加执行用户名吗?就算可以省略,那也不会加了就错了阿?
原帖由 虫虫猫 于 2008-9-8 10:15 发表
crontab中不需要设置环境变量 ,你的/shell是绝对路径吗?
都是绝对路径。是不是我语法有问题?
原帖由 tam509 于 2008-9-8 10:16 发表

都是绝对路径。是不是我语法有问题?
把touch 改成 /bin/touch

crontab中要用全路径!
Better to light a candle than to curse the darkness.
与其去诅咒黑暗,还不如去点亮一支蜡烛。

我的blog:http://tonykorn97.itpub.net

这是我的个人理解

root一般执行如halt,reboot等进程,而你的脚本就可以用自己的权限执行,不用root
原帖由 mizeng 于 2008-9-13 02:51 发表
root一般执行如halt,reboot等进程,而你的脚本就可以用自己的权限执行,不用root
其实root也是可以执行的,只要用全路径就可以了!
Better to light a candle than to curse the darkness.
与其去诅咒黑暗,还不如去点亮一支蜡烛。

我的blog:http://tonykorn97.itpub.net
我也有Cron任务不执行的情况。
是要写全命令路径吗?!
我试试!
为还能有一席之地而努力!!
------------------------------
本人收购星座徽章,有意者请短消息与我联系,谢谢!
没有用唉

好像我的情况比较奇怪
为还能有一席之地而努力!!
------------------------------
本人收购星座徽章,有意者请短消息与我联系,谢谢!
原帖由 itpubkumao 于 2008-9-22 16:22 发表
没有用唉

好像我的情况比较奇怪
具体是什么情况?

把你的crontab里面的内容全部贴出来!
Better to light a candle than to curse the darkness.
与其去诅咒黑暗,还不如去点亮一支蜡烛。

我的blog:http://tonykorn97.itpub.net
crontab 有两种执行方式
1:使用"crontab -e"命令,此命令用当前命令用户身份执行命令,故不需要加执行用户名

2:修改"/etc/crontab"文件,此文件需用root用户身份编辑,命令行中应该加执行用户名

详细请参考鸟哥的linux私房菜,里面有详细命令说明
返回列表