码迷,mamicode.com
首页 > 其他好文 > 详细

多台服务器双网卡绑定脚本

时间:2016-08-18 21:34:35      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:网卡绑定   ubuntu   自动脚本   多服务器   

共有4个文件  ip.txt   存放服务器ip地址,ip数量可随意删减  

         bond    网卡绑定脚本                   

         scp.sh   将bond文件拷贝至每个客户端服务器               

         mv.sh    执行程序脚本

执行步骤(需执行两个脚本):

    #bash scp.sh

    #bash mv.sh

其中每个服务器的bond0 ip是递加的 while循环的时候,将每个拷入客户端的文件命名为(1,2,3......) ;本例中从1开始,根据实际情况调整;不能和已使用ip冲突,否则会导致网卡绑定失败

declire -i n=1 声明为整数

n=$(($n+1)) 在循环中递加;将n的值赋给文件名

bond0的ip 192.168.25.$0   $0为文件名    例如 192.168.25.1  192.168.25.2

多服务器原理:while循环,逐条读取

expect :实现自动和交互式任务进行通信

spawn :是进入expect环境后才可以执行的expect内部命令

ip.txt        (只用了两个服务器,作演示用,ip只要能ssh进入就行)

    192.168.25.177  

    192.168.25.178  

 

bond      (拷入客户端文件)

device%  网卡名

#!/bin/bash

device1=`ifconfig |awk ‘NR==1 {print $1}‘`

device2=`ifconfig |awk ‘NR==10 {print $1}‘`

mask=`ifconfig |awk ‘NR==2 {print $4}‘|cut -d : -f 2`

echo -e "auto bond0\n iface bond0  inet static\n address 192.168.25.$0\n netmask $mask\n  gateway 192.168.25.250\n dns-nameservers 8.8.8.8\n up ifenslave bond0 $device1 $device2\n down ifenslave -d bond0 $device1 $device2" >> /etc/network/interfaces

echo bonding mode=0 miimon=100 >> /etc/modules         

apt-get install ifenslave


scp.sh    (执行拷贝脚本)

exp_continue  在本例中:继续向下执行,遇EOF结束

#!/bin/bash

passwd=‘root‘

cat /home/gm/ip.txt |while read LINE 

do

/usr/bin/expect <<-EOF

spawn scp /home/gm/bond  root@$LINE:/root

expect {

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

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

}

expect eof

exit

EOF

sleep 5

done


mv.sh   (执行程序脚本,包括给bond改名字)

declire -i n=1 声明为整数

n=$(($n+1)) 在循环中递加

将n的值赋给文件名

send "bash $n\r"   执行网卡绑定脚本;必须用bash执行,否则脚本内$0得到的文件名不是数字,影响bond0 ip

#!/bin/bash

passwd=‘root‘

declire -i n=1

cat /home/gm/ip.txt |while read LINE 

do

n=$(($n+1))

/usr/bin/expect <<-EOF

spawn ssh  root@$LINE

expect {

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

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

}

expect "*#"

send "cd /root\r"

expect "*#"

send "mv bond $n\r"

expect "*#"

send "bash $n\r"

expect "*#"

send "reboot\r"

expect eof

exit

EOF

sleep 5

done



本文出自 “11634758” 博客,请务必保留此出处http://11644758.blog.51cto.com/11634758/1840085

多台服务器双网卡绑定脚本

标签:网卡绑定   ubuntu   自动脚本   多服务器   

原文地址:http://11644758.blog.51cto.com/11634758/1840085

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!