随着计算机的发展,现在计算机已经成为了生活中不可缺少的一部分,那今天,就让我为大家介绍下linux把
现在,很多的公司都开始使用linux系统了,相比window,linux比window更加安全,那大家了解linux,今天,就让我给大家分享个我的linux和unix系统的批量交互式自动部署方法吧,如下:
1、安装expect 工具,用于进行在脚本中进行交互式操作,如自动输入密码等。
2、编辑自动输入密码脚本 manager.exp
#!/usr/bin/expect -fset ipaddress [lindex $argv 0]
set passwd [lindex $argv 1]
set ipaddress [lindex $argv 0]
set timeout 30
spawn ssh root@$ipaddress
expect {
"yes/no" { send "yes\r";exp_continue } #检测是否是第一次登录目标服务器,如果是会提示进行host认证,自动输入ys
"Password:" { send "$passwd\r" } # 自动输入密码
}
send "cd /usr/local/src/ && tar xvzf /fmnp/soft/rm_v1.3.tgz && cd rm \r" #将红字替换成你想发送远程服务器的命令
send "sh install.sh \r"
send "more /bin/rm \r"
send "exit\r" #命令执行完后退出远程主机
expect eof
exit
3. 将需要登录的远程主机IP和密码存在一个文件里password.txt
192.168.193.173 QAZ2wsx # 将红色替换成你的密码
192.168.193.174 QAZ2wsx
4、编写一个循环脚本让它去读password.txt文件然后循环执行manger.exp脚本
more remote_control.sh
#!/bin/bash
cat password.txt|while read line
do
IP=$(echo $line|awk '{print $1}')
Pass=$(echo $line|awk '{print $2}')
expect manager.exp $IP $Pass
done
5.记住 将这三个脚本放在同一个目录中,这样脚本在互相调取的时候就不用写路径了。