说明:我们公司服务器环境用的是vmware虚拟化架构,每次将模板克隆为虚拟机后,都需要手动需修改主机名、IP地址、网卡名称、用户名密码修改(满足复杂度要求)以及时间同步等,故抽闲时间写了一个自动修改的脚本,此脚本适用于centos6和redhat6版本,要想其他版本也能跑,可自行做个简单的修改即可(基本都大同小异)

脚本内容:

#!/bin/bash ######################################## ####ALOM ########################## ####by ALOM 20201206########### ########################## /usr/sbin/ntpdate 10.100.22.166 ###ntp时间同步服务器IP地址 /bin/date echo " 时间校验成功 " . /etc/init.d/functions ###功能:1,修改网卡名称为eth0## 2,IP地址##3,注释mac缓存##4,修改主机名##5,修改密码## Hostname=`awk -F= '$1~/^HOSTNAME$/{print $2}' /etc/sysconfig/network` Ethname=`find /etc/sysconfig/network-scripts -type f -name "ifcfg-eth*"` Ethnames=`find /etc/sysconfig/network-scripts -type f -name "ifcfg-eth*"|awk -F"[/-]" '{print $NF}'` Ethnamed="/etc/sysconfig/network-scripts/ifcfg-eth0" Ipeth0=`awk -F= '$1~/^IPADDR$/{print $2}' ${Ethname}` change_eth(){ if [ -f $Ethnamed ] then echo "网卡eth0 already esist" else mv ${Ethname} ${Ethnamed} sed -i "s#${Ethnames}#eth0#g" ${Ethnamed} &&\ action "网卡名称修改为eth0" /bin/true fi } change_ip(){ read -p "请输入你需要修改的网卡IP,例如:10.0.0.xx.请输入:" a ping -w 1 -c 1 $a if [ $? -eq 0 ] then echo "$a is already use" else sed -i "s#${Ipeth0}#${a}#g" /etc/sysconfig/network-scripts/ifcfg-eth0 if [ $? -eq 0 ] then action "网卡IP${a}配置完成" /bin/true else echo -e "\033[42;37mERROR:网卡IP${a}配置失败请检查\033[0m" exit 1 fi fi } change_hostname(){ read -p "请输入你要配置的主机名,例如:web01.请输入:" c hostname $c && action "命令行修改主机名$c" /bin/true sed -i "s#${Hostname}#${c}#g" /etc/sysconfig/network if [ $? -eq 0 ] then action "主机名${c}配置完成" /bin/true else echo -e "\033[42;37mERROR:${c}配置失败请检查脚本\033[0m" exit 1 fi } change_maclog(){ sed -i 's#^SUBSYSTEM#\#SUBSYTEM#g' /etc/udev/rules.d/70-persistent-net.rules action "/etc/udev/rules.d/70-persistent-net.rules 已经全部注释" /bin/true } change_password(){ pass=`uuidgen|cut -c 29-` echo "$pass"|passwd --stdin root &&\ echo -e "\033[41;37m $pass 牢记 \033[0m" #echo "$pass" >>/tmp/pass.txt #cat /tmp/pass.txt } weblogic_password(){ passweb=`uuidgen|cut -c 29-` echo "$passweb"|passwd --stdin weblogic &&\ echo -e "\033[41;37m weblogic/$passweb 牢记 \033[0m" #echo "weblogic/$passweb" >>/tmp/pass.txt #cat /tmp/pass.txt } change_host(){ echo "${a} ${c}" >>/etc/hosts } main(){ change_eth change_ip change_hostname change_maclog change_password weblogic_password change_host } main while true do cat<<EOF 请在您10秒内做出选择选择菜单如下: 1.重启网卡 2.稍后重启,并退出脚本 3.重启系统reboot EOF echo -e "\033[41;37m请牢记密码,再进行选择\033[0m" read -p "竭诚为您服务,请输入你的选择:" d case "$d" in 1) echo -e "\033[41;37m您已经选择重启网卡,远程连接会断开,请在远程管理界面修改主机IP和密码之后重连,欢迎下次使用\033[0m" /etc/init.d/network restart exit ;; 2) echo -e "\033[41;37m您已经选择稍后重启网卡,重启网卡命令'/etc/init.d/network restart',欢迎下次使用\033[0m" exit 2 ;; 3) echo -e "\033[41;37m您已经选择稍后重启系统reboot,欢迎下次使用\033[0m" reboot ;; *) echo -e "\033[41;37m您的输入有误,请输入\n1:重启网卡\n2:稍后重启网卡并退出脚本\n请在5秒后重新输入\033[0m" ;; esac sleep 5 done

效果展示:

网卡唤醒脚本(分享个超实用的脚本-同步时间)(1)

提示:如果有想用此脚本的朋友需要注意从windows上复制粘贴到Linux系统下可能会有字符集乱码的情况,可使用cat -A 脚本|more 打印出乱码进行调整哦。

使用中如有问题可随时在下发评论处留言哦[中国赞] 关注我每天分享更多实用的运维知识哦[送心]

,