linux7-net-bond.sh (linux7系统双网卡主备,可以本机或远程执行)
#!/bin/bash
#
########################################################
# SCRIPT NAME: linux7-net-bond.sh
# AUTHOR: LCF
# CREATE DATE: 2019.12.13.05-00
# PLATFORM: Linux7
# VERSION: 1.1
########################################################
# 一、常量配置、显示当前相关信息
TEAMNAME=team100
IPADDR=$1
NETMASK=$2
GATEWAY=$3
DNS1=$4
DNS2=$5
# -查看当前系统版本
echo -e "\033[36m------------------Linux7 网卡绑定脚本-------------------\033[0m\n"
redhat_release=`cat /etc/redhat-release`
echo -e ">>\033[35m当前系统是:\033[0m\033[36m$redhat_release\033[0m"
echo -e ">>\033[35m当前系统使用的IP:\033[0m"
ip a | grep -E "inet .*" | awk '{print $2 " -- " $NF}' | column -t
echo -e ">>\033[35m当前系统使用的网关:\033[0m"
ip route show | grep default | awk '{print "IP:"$3" dev:"$5}' | column -t
echo -e ">>\033[35m当前系统使用的DNS:\033[0m"
cat /etc/resolv.conf | grep -E "^(DNS|name).*"
# -版本检测、显示可用网卡Device
echo "$redhat_release" | grep "release 5" &> /dev/null && release=5
echo "$redhat_release" | grep "release 6" &> /dev/null && release=6
echo "$redhat_release" | grep "release 7" &> /dev/null && release=7
if [ "$release" == "5" -o "$release" == "6" ];then
# a=`ifconfig -a | grep -E "^[a-z].*" | awk '{print $1}'`
echo -e "\033[31m警告:当前脚本只适用于Linux7系列系统,不能在当前$redhat_release系统上运行。\033[0m"
exit
else
# a=`ip a | grep -E "^[1-9].*" | awk '{print $2}' | awk -F ":" '{print $1}'`
a=`nmcli device`
fi
echo -e ">>\033[35m当前可用DEVICE:\033[0m\n\033[36m$a\033[0m"
# -判断输入参数不小于3个,提示帮助。
if [ $# -lt 3 ];then
echo -e ">>\033[35m请在脚本后面输入参数,指定ifcfg-$TEAMNAME文件的IP、字网掩码、网关、DNS1、DNS2(空格做间隔),示例如下:\033[0m"
echo -e "\033[32m[root@Test-130 ~]# /root/linux-net-bond.sh 192.168.10.50 255.255.255.0 192.168.10.2 192.168.10.2 8.8.8.8\033[0m"
exit
fi
read -p ">>请正确输入要绑定的第一个网卡DEVICE:" DEVICE1
read -p ">>请正确输入要绑定的第一个网卡DEVICE:" DEVICE2
# 二、备份(提前备份/etc/sysconfig/netw