仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1551|回复: 9
打印 上一主题 下一主题

[shell编程] 来一发完成同时办理多台办事器的expect剧本

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:21:05 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!比来经由过程exploringexpect书本,复杂学了下expect剧本言语,这个剧本言语是tcl言语的扩大,用来办理一些工具没法主动交互的成绩,如ssh登录时,没法在下令就指定暗码等。上面是使用expect来完成办理多台办事器的复杂例子:
[size=1em]
[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em]22

[size=1em]23

[size=1em]24

[size=1em]25

[size=1em]26

[size=1em]27

[size=1em]28

[size=1em]29

[size=1em]30

[size=1em]31

[size=1em]32

[size=1em][size=1em]#!/usr/bin/expect
[size=1em]#purpose:autoruncommandonmultipleservers
[size=1em]#howto:mms<user><cmd>
[size=1em]#writebyzhumaohai.
[size=1em]#blog:http://www.centoscn.com/
[size=1em]
[size=1em]if{$argc<2}{
[size=1em]puts"usage:mms<user><cmd>"
[size=1em]exit1
[size=1em]}
[size=1em]
[size=1em]#setservers
[size=1em]setSERVERS{"192.168.0.100""192.168.0.101""192.168.0.102"}
[size=1em]
[size=1em]#setpassword
[size=1em]setPASSWORDS(user1)"passwd1"
[size=1em]setPASSWORDS(user2)"passwd2"
[size=1em]
[size=1em]#getvirables
[size=1em]setUSER[lindex$argv0]
[size=1em]setCMD[lrange$argv1end]
[size=1em]
[size=1em]setpasswd$PASSWORDS($USER)
[size=1em]
[size=1em]foreachx$SERVERS{
[size=1em]evalspawnssh-l$USER$x$CMD
[size=1em]expect{
[size=1em]"password"{send"$passwdr"}
[size=1em]"yes/no"{send"yesr";exp_continue;}
[size=1em]}
[size=1em]expecteof
[size=1em]}



1、这里界说了三台办事器192.168.0.100192.168.0.101192.168.0.102,界说了用户user1的暗码为passwd1,用户user2的暗码为passwd2,假设剧本文件名为ms,用法为:
./ms用户下令
如./msuser1date
2、在利用剧本时,请确认体系已装置有expect下令,centos利用yuminstallexpect装置,ubuntu利用apt-getinstallexpect装置。

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-13 08:58

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表