skilljiang
作者skilljiang·2011-06-09 16:46
存储架构师·COSCON

AIX 下使用expect实现远程关机

字数 698阅读 9990评论 13赞 6
出于客户的需求,需要在一台管理机上远程执行关机命令,但又不能使用rsh的方式,想到用expect,网上查了一下,自己试验了一把,结果如下:
1、安装expect的软件包
rpm -ivh tcl-8.4.7-1.aix5.1.ppc.rpm
rpm -ivh tk-8.4.7-1.aix5.1.ppc.rpm
rpm -ivh expect-5.42.1-1.aix5.1.ppc.rpm
2、主机列表文件
vi passwd.txt (格式:ipaddress 空格 password)
10.10.10.10 123456
10.10.10.11 123456
3、expect.sh
#!/usr/bin/expect
spawn ssh root@[lindex $argv 0]
sleep .2
expect "(yes/no)?" {
send "yesr"
expect "*assword:"
send "[lindex $argv 1]r"
} "*assword:"
send "[lindex $argv 1]r"
expect -re {[$#] }
send "shutdown -Fr"
expect EOF
4、remote_shutdown.sh
#!/bin/sh
while read ip passwd
do
echo "$host....."
/scripts/expect.sh $ip $passwd
done </scripts/passwd.txt
在管理机上执行remote_shutdown.sh脚本,2台机器自动关机,试验成功,完工交差。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

6

添加新评论13 条评论

一杯清茶一杯清茶专业技术支持人员神州数码
2011-07-12 11:00
学习学习了,不错!
amote0201amote0201技术支持XX科技XX
2011-07-05 16:46
灰常不错 学习学习
mophismophis软件开发工程师杭州
2011-07-05 15:30
很强大,学习了!
davie0825davie0825数据库管理员科大恒星
2011-07-01 13:56
顶一下!
qy02101qy02101工程师物探中心
2011-06-30 16:06
这个不错啊以前我用过一点点expact,值得学习
skilljiangskilljiang存储架构师COSCON
2011-06-22 11:25
呵呵,具体看在什么环境了。 这只是一个简单的关机脚本而已,还不涉及应用和数据库的考虑。
mada7707mada7707软件开发工程师西安未来国际软件有限公司
2011-06-22 11:15
确实存在一定的风险
mada7707mada7707软件开发工程师西安未来国际软件有限公司
2011-06-22 11:14
好东东
airiversairivers技术总监荣科科技股份有限公司
2011-06-20 17:24
方法不错
ncllynclly数据库管理员南昌鸿跃科技有限公司
2011-06-20 00:23
挺有想法的,不错,只不过没有相关的集群和库的关闭,可能会有危险
geniusgenius技术经理华洋广场
2011-06-15 17:08
方法学习了,谢谢。
daoguo525daoguo525系统工程师世纪五岳(北京)科技有限公司
2011-06-15 14:15
写得不错!谢谢分享!
camydcamyd数据库管理员中储粮
2011-06-15 12:59
不错,谢谢共享
Ctrl+Enter 发表

作者其他文章

X社区推广