expect 脚本在cron中不执行的问题

回复 收藏
使用expect 的目的就是为了省去输入密码,把要做的事情丢到cron中,自动去执行。没成想,手动测试脚本一点问题没有,可是到了cron下就出问题。看日志是到了输入密码的地方就断了。说明脚本中提供的密码,它根本就没有读到?

解决问题:
1. 手动执行可以,但到cron不成功,根据以前的经验,这样的问题往往都是环境变量导致的,因为cron里定的PATH和系统的PATH是不同的。于是,修改cron的PATH和系统的PATH一样。  
echo $PATH
把得到的环境变量复制到/etc/crontab
vi /etc/crontab   
替换原来的那行

这样做了后,问题依旧。

2. 网上查资料吧, 找了好多篇文章,有的说加 log之类的,尝试过依然不管用,有的说是环境变量的问题,这我也做了依然不行。历经艰辛终于找到一篇有用的文章。其实只有一句话:“把interact改成了expect eof后, 程序运行正常
我的expect脚本最后一行也是用的interact ,改成 expect eof 后问题终于完美解决!
2013-04-28 15:00 举报
已邀请:
0

yagamixp

赞同来自:

全局环境变量在cron中也无效吗?

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: