tft每日頭條

 > 科技

 > 網卡喚醒腳本

網卡喚醒腳本

科技 更新时间:2024-11-25 05:40:30

說明:我們公司服務器環境用的是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 打印出亂碼進行調整哦。

使用中如有問題可随時在下發評論處留言哦[中國贊] 關注我每天分享更多實用的運維知識哦[送心]

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved