shell+expect实现多台服务器自动运行脚本。

list.txt

192.168.1.1:root:passwd

192.168.1.2:root:passwd

192.168.1.50:root:passwd

 

 

cat/root/list.txt |

whileread row;do

  IP=$(echo $row |cut -d : -f 1 )

  username=$(echo $row |cut -d : -f 2 )

  passwd=$(echo $row |cut -d : -f 3 )

  pr='sysctl –w –q net.ipv4.tcp_tw_reuse = 1'

  /usr/bin/expect -f /root/abc.sh"$IP" "$username" "$passwd" "$pr"

done

 

expect.sh

#!/usr/bin/expect -f

 

setip  [lindex $argv 0]

setusername  [lindex $argv 1]

setpassword  [lindex $argv 2]

settimeout 10

spawn ssh$username@$ip

expect {

"*yes/no"{ send "yes\r"; exp_continue}

"*password:"{ send "$password\r" }

}

expect"#*"

send"[lindex $argv 3]\r"

 

send  "exit\r"

expecteof

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值