首页 > 代码库 > shell-自动更改LINUX服务器IP

shell-自动更改LINUX服务器IP

#!/bin/bash
echo "Enter the old ip:"$1
echo "Enter the new ip:"$2

if [[ $1 == "" ]];then
        echo "Usage: $0 Enter the new ip:$1"
        echo "Usage: $0 Enter the old ip:$2"
        exit 0
fi

i=0
for line in `ls /etc/sysconfig/network-scripts | grep -E "ifcfg-em|ifcfg-eth"`
do
strip=`cat /etc/sysconfig/network-scripts/$line |  grep -i "$1"`
strboot=`cat /etc/sysconfig/network-scripts/$line |  grep -i "^onboot" | awk -F = {print $2} | grep -i "yes"`
if [ -n "$strip" -a -n "$strboot" ];then
echo $line
file=$line
echo $strip
echo $strboot
ipfile="/etc/sysconfig/network-scripts/$file"
hostnamefile="/etc/sysconfig/network"
sed -i s/^IPADDR/#IPADDR/g $ipfile
#sed -i s/^NETMASK/#NETMASK/g $ipfile
sed -i s/^GATEWAY/#GATEWAY/g $ipfile
sed -i s/^HOSTNAME/#HOSTNAME/g $ipfile
sed -i s/^HOSTNAME/#HOSTNAME/g $hostnamefile
newip=$2
newgateway=
newhostname=
cat >>$ipfile<<EOF
IPADDR="$newip"
GATEWAY="$newgateway"
EOF
echo "HOSTNAME=\"$newhostname\"" >>$hostnamefile
hostname "$newhostname"
echo "OK"
else 
echo $line
echo $strip
echo $strboot
echo "error"
fi
done