使用expect脚本实现批量创建用户

2012年04月08日 其他 暂无评论 阅读 7,336 views 次

使用expect脚本实现批量创建用户

(1)cuser.exp 非交互式创建用户脚本

(2)iplist 存放需创建用户的IP列表

(3)cuser.sh 可批量执行(cuser.exp只能对一个对端创建用户)并判断出是否成功

1)、cuser.exp脚本
[root@nfs-server expect]# cat cuser.exp

#!/usr/bin/expect

if {$argc !=1} {

send_user "usage:expect cuser.exp username\n"

exit

}

set user [lindex $argv 0]

set password "1"

spawn ssh -p52101 root@192.168.0.12

expect {

# -timeout 2

"yes/no" {exp_send “yes\r”;exp_continue}

"password" {send "1\r";exp_continue}

"#" {send "useradd $user\r"}

# timeout {puts "your operator timeout";return}

}

expect "#" {send "echo $password |passwd $user --stdin\r"}

expect eof

exit

2)iplist脚本
[root@nfs-server expect]# cat iplist

192.168.0.12

192.168.0.13

192.168.0.14

3)cuser.sh脚本
[root@nfs-server expect]# cat cuser.sh 

#!/bin/sh

echo "usage:sh cuser.sh username"

. /etc/init.d/functions

for ip in `cat iplist`

do

expect cuser.exp $ip $1 >> cuser.log

if [ $? -eq 0 ];then

action "$ip" /bin/true

else

action "$ip" /bin/false

fi

done

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录