由于要修改多台主机的主机名和静态IP地址,利用脚本来批量修改相对方便,但仍然需要输入新的主机名和更改的IP地址。
但是只能适用于当前主机已经通过DHCP获取了IP地址的情况,对于还没有启用网卡的主机不适用。
- #!/bin/bash
- #hostname_ip.sh
- #Modify hostname and IP address
- #2013-3-5
- HOST_NAME="centos-test01"
- INTERFACE="ifcfg-$(ifconfig |cut -d ' ' -f 1|sed -n '1p')"
- IP_ADDR="192.168.1.100"
- HW_ADDR=`ifconfig | sed -n '1p'| awk '{print $5}'`
- SUB_MASK="255.255.255.0"
- DNS_SERV="192.168.1.2"
- DNS_SERV2="192.168.1.3"
- GATEWAY="192.168.1.5"
- cd /etc/sysconfig
- sed -i.bak 's/HOSTNAME=.*/HOSTNAME='$HOST_NAME'/' network
- cd /etc/sysconfig/network-scripts
- cp -a $INTERFACE /root/
- echo "DEVICE="`ifconfig |cut -d ' ' -f 1|sed -n '1p'`"
- BOOTPROTO="static"
- HWADDR="$HW_ADDR"
- IPADDR="$IP_ADDR"
- NETMASK="$SUB_MASK"
- DNS1="$DNS_SERV"
- DNS2="$DNS_SERV2"
- GATEWAY="$GATEWAY"
- NM_CONTROLLED="yes"
- ONBOOT="yes"
- TYPE="Ethernet"
- " > $INTERFACE