Unix/Linux 下如果手动执行脚本可以正常运行,而放在crontab里面就有问题的话

分类:

如题,那肯定是执行这个脚本需要用户环境变量,注意这里面的区别,在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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值