大树

 

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

posted on 2014-08-05 16:15  ruberzhu  阅读(797)  评论(0编辑  收藏  举报

导航