如题,那肯定是执行这个脚本需要用户环境变量,注意这里面的区别,在crontab里面执行的脚本并没有去执行所在用户的profile, 而你手动的执行的话,至少是执行了该用户的环境变量!
解决的办法就是在脚本开始的地方添加执行该用户的profile的命令,如下:
#!/bin/ksh
. $HOME/.profile
注意这里的"."和后面必须要有空格!
这里还有另外一种情况(在Linux下面):
#!/usr/bin/sh
......
对于这样的一个脚本,我们可能在命令行模式下直接./ 去执行它,并没有任何问题,但一旦放到crontab里面执行 就会发现报错,当然这个报错信息是很好确认问题在哪的,原因是/usr/bin/sh在Linux系统里面并不存在,
它是Solaris里面的路径,所以只需要把这个更改好就可以了,可以参考下面的文章:
http://www.cublog.cn/u1/56521/showart_2008889.html
阅读(5260) | 评论(0) | 转发(0) |