我写了一行命令,想在crontab中,2分钟输出一次当前时间,可是该命令shell下能够执行,在crontab中就无法执行
echo %26quot;`date +%Y%m%d%H%M`%26quot; %26gt;%26gt; /root/aaa.log
crontab中如下
*/2 * * * * ( echo %26quot;`date +%Y%m%d%H%M`%26quot; %26gt;%26gt; /root/aaa.log)
以前执行echo都是可以的.
一般都是写成shell,然后指明绝对路径执行。
但是我在做的时候crontab中放入echo都没有问题,包括现在.
只要把*/2 * * * * ( echo %26quot;`date +%Y%m%d%H%M`%26quot; %26gt;%26gt; /root/aaa.log)
更改成为*/2 * * * * ( echo hello %26gt;%26gt; /root/aaa.log)就没有问题了,难道crontab中不支持执行shell命令?
即 %26quot;``%26quot;不支持?
谢谢!
去掉双引号看看吧,我身边没有机子试。echo `date +%Y%m%d%H%M`
date命令要绝对路径
我去掉%26quot;号也是一样的!
另外,环境变量里已经设置过了,这个应该没有问题.
谢谢楼上的各位!
本来以为可以简单的处理,没想到还是要写脚本的,还好脚本写的还比较快.哈哈哈
QUOTE: 原帖由 rainloftty 于 2005-12-5 13:21 发表
另外,环境变量里已经设置过了,这个应该没有问题.
你设置的环境变量对crontab不起作用,crontab在运行的时候不读取任何profiles
可是如果crontab中一定要设置环境变量的话,我像echo命令也应该需要设置环境变量才有用吧.
一会自己做一个测试,把date写一个全路径,这样就和环境变量没有关系了.
自己测试一下,还是不行,放弃.写脚本了,呵呵
|
|
< |