expect在crontab下执行失败的问题

国庆节在家收到OZ报警,说没有接收到需要入库的文件。登陆VPN,上脚本机上看了一下。发现需要上报的文件生成成功,但却没有将文件成功上传到OZ的文件服务器上。

上传文件的代码如下:


shell下直接执行是成功的,放在crontab下就会有问题。为了定位问题,我将crontab的执行任务输出到一个文件中:

执行之后,在日志文件里发现如下错误信息:


找不到scp文件,使用whereis scp,发现它的路径为/usr/local/bin/scp,明明在环境变量PATH的路径中啊。百度了一下,才发现crontab和shell所使用的环境变量并不是一致的。/etc/crontab内容如下:

可以看到它所设置的PATH中,并没有包含/usr/local/bin这个目录。

定位到问题,一切都好办了。只需将scp加上全路径就OK了。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值