企业中经常通常都是有很多服务器的,这些服务器一开始可能都没有主机名和ip地址,然后手动修改一两台可能还好,但是如果工作中有50台甚至100台服务器,那这样手动修改效率就太低了,极大的影响我们工作的进度
这个shell脚本只需要输入脚本名称加 主机位和主机名就可以帮我们自动填写ip地址 掩码 网关 dns 大大提高了我们的工作效率 .可根据自己实际的工作环境修改下网段和所使用的网关
#!bin/bash
expr 1 + $1 > /dev/null 2>&1
[ $? -ne 0 ] && echo "请输入主机位加主机名" && exit
[ -z $2 ] && echo "请输入主机位加主机名" && exit
hostnamectl set-hostname $2
dev=$(ip a | awk -F ": " 'NR==7{print $2}')
rm -rf /etc/sysconfig/network-scripts/ifcfg-$dev
cat <<EOF>> /etc/sysconfig/network-scripts/ifcfg-$dev
TYPE=Ethernet
BOOTPROTO=none
NAME=$dev
DEVICE=$dev
ONBOOT=yes
IPADDR=192.168.26.$1
NETMASK=255.255.255.0
GATEWAY=192.168.26.2
DNS1=8.8.8.8
EOF
systemctl restart network
[root@10 scripts]# sh set.sh 10 web ##尝试修改主机位为10 主机名为web
[root@10 scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:80:d6:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.26.10/24 brd 192.168.26.255 scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe80:d620/64 scope link tentative
valid_lft forever preferred_lft forever
[root@10 scripts]# hostname
web
[root@10 scripts]# sh set.sh 20 db 再次修改
[root@db ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:80:d6:20 brd ff:ff:ff:ff:ff:ff
inet 192.168.26.20/24 brd 192.168.26.255 scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe80:d620/64 scope link
valid_lft forever preferred_lft forever
[root@db ~]# hostname
db
网友评论