Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  shell  >  正文 expect批量管理计算机的一个脚本

expect批量管理计算机的一个脚本

发布时间:2014-10-08   编辑:www.jquerycn.cn
本文介绍下,用expect实现的一个批量管理计算机的脚本,有需要的朋友,可以参考下哦。

有时需要为多台Linux服务器添加用户,以及管理其它信息,要是每次都一台一台的来搞,真是太麻烦了。
索性用expect实现了一个批量管理的脚本,用着还不错。分享一下,有需要的朋友,拿去吧。

expect是交互式shell编程的利器,可以根据返回值来确定下面发送什么命令,特别好用。

以下脚本实现:远程增加linux用户的功能。需要机器装有expect。
机器上没有expect的,可以参考 expect的安装与配置 这篇文章,自己安装下。

代码如下:
 

复制代码 代码示例:
#!/usr/bin/expect
#脚本第一个参数是远程服务器IP
set IP     [lindex $argv 0]
#远程服务器用户名(通常用root)
set USER [lindex $argv 1]
#远程服务器用户名的密码
set PASSWD [lindex $argv 2]
#添加的新用户
set Nuser [lindex $argv 3]
#新用户的密码
set Npasswd [lindex $argv 4]
#用spawn启动一个ssh客户端
spawn ssh -l $USER $IP
#如果是第一次连接,要保存密钥再输入密码,如果不是第一次连接则输入密码
expect {
 "yes/no" { send "yes\r"; exp_continue }
 "password:" { send "$PASSWD\r" }
}
#如果不是root,要expect "$",下面不讲了,很简单
expect "*#"
send "useradd -s /bin/sh -d /home/$Nuser $Nuser\r"
expect "*#"
send "passwd $Nuser\r"
expect "*password:"
send "$Npasswd\r"
expect "*password:"
send "$Npasswd\r"
expect "*#"
send "exit\r"

您可能感兴趣的文章:
expect脚本远程批量管理服务器的思路解析
expect批量管理计算机的一个脚本
一个远程登录的简单expect脚本
远程登录的简单expect脚本
expect自动检测并重启另外一台服务器上的程序
Expect的安装与应用
批量修改ssh配置的expect脚本
使用expect进行日志分析
用expect实现ssh自动登录服务器并进行批量管理
shell实现自动登录的脚本

[关闭]