免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5328 | 回复: 8
打印 上一主题 下一主题

Shell expect script 能在命令行运行,但cron不行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-15 10:00 |只看该作者 |倒序浏览
shell script用来telnet到远程的网络设备进行配置。用命令行运行没有问题,但cron不行。同样的script在Solaris可以, Linux 7.2 就不行. 那位有过相同的经验, 指点一下。谢谢。

问题是shell script里面的expect, 当用cron运行时, expect只能执行telnet, 网络设备的登陆画面出现后, 就退出了。
网上讲的可能cron environment有问题, 我改过term to vt100, 也不行。下面是cron 的env
PWD=/root
HOSTNAME=IBM-LINUX
MACHTYPE=i386-redhat-linux-gnu
LOGNAME=root
SHLVL=1
SHELL=/bin/sh
HOSTTYPE=i386
OSTYPE=linux-gnu
HOME=/root
TERM=dumb
PATH=/usr/bin:/bin
_=/usr/bin/env
zqlin555 该用户已被删除
2 [报告]
发表于 2007-10-15 11:09 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2007-10-15 14:09 |只看该作者
cron没有问题, 其他不带expect程序都可以

论坛徽章:
0
4 [报告]
发表于 2007-10-16 14:13 |只看该作者
我也遇到过,分析是因为cron是后台运行没有界面交互,而expect是需要读取输出内容然后作出对应操作,应该是这个原因吧,后来我也没能解决,想想其他办法吧

论坛徽章:
0
5 [报告]
发表于 2007-10-16 17:45 |只看该作者
你的意思是cron的问题。 可是solaris可以

论坛徽章:
0
6 [报告]
发表于 2007-10-17 10:49 |只看该作者
原帖由 honst 于 2007-10-16 14:13 发表
我也遇到过,分析是因为cron是后台运行没有界面交互,而expect是需要读取输出内容然后作出对应操作,应该是这个原因吧,后来我也没能解决,想想其他办法吧


我也有相同的问题,我用expect写了个脚本执行mysql的存储过程,看日志显示登录mysql都是正常的,登录以后命令只打了一半就没有了
比如命令是 select * from table ,可是日志只显示了 select * f 这样,莫名其妙就结束了,也没有错误信息,honst说cron没有交互,可是我的mysql登录就是通过交互来输入密码的,所以这个说法不成立。

论坛徽章:
0
7 [报告]
发表于 2007-10-17 15:05 |只看该作者
缀入到perl吧


#!/usr/bin/perl -w
system(" /usr/bin/expect yourshell ");


that will OK in crontab

论坛徽章:
0
8 [报告]
发表于 2007-10-22 10:53 |只看该作者
原帖由 voxxu 于 2007-10-17 10:49 发表


我也有相同的问题,我用expect写了个脚本执行mysql的存储过程,看日志显示登录mysql都是正常的,登录以后命令只打了一半就没有了
比如命令是 select * from table ,可是日志只显示了 select * f 这样,莫名 ...


voxxu, 你能把你的cron env给我看一看。我的情况是不能登陆, 不过你的是服务器, 我视网络设备。

论坛徽章:
0
9 [报告]
发表于 2011-12-15 17:37 |只看该作者
回复 4# honst

想一下也有道理,但是我输出到Log里,发现有交互时的信息。但不知为啥不能执行,诡异!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP