腳本一:
通過腳本對新硬盤進行分區
[root@myb362 ~]# cat fdisk.sh #!/bin/bash #Version 0.1 #Pragram:對新硬盤進行分區 #Author:Myb #Data:2014-04-06 echo -e "==========\033[1;31;49m硬盤分區\033[0m==========" #輸出信息 echo "您擁有如下硬盤:” fdisk -l | grep -o "Disk /dev/[hs]d[a-z]" #輸出硬盤信息 echo -e -n "\033[1;31;49m請輸入你要進行分區的硬盤(輸入格式:/dev/hda;退出請輸入quit):\033[0m" read Disk #保存用戶輸入的信息 # 如果用戶輸入quit則直接退出腳本! if [ $Disk == quit ];then echo "您未選擇硬盤!退出成功!" exit 3 fi #如果用戶輸入的硬盤格式不對,則提示用戶重新輸入! until fdisk -l > /dev/null | grep -o "Disk /dev/[hs]d[a-z]" | grep "^Disk $Disk$" >/dev/null;do read -p "您的輸入有誤,請重新輸入(輸入格式:/dev/hda;退出請輸入quit):" Disk #如果用戶在此輸入了quit則也退出腳本 if [ $Disk == quit ];then echo "您選擇了退出!退出成功!" exit 4 fi done #檢測用戶輸入的硬盤是否已經被掛載,如果已經掛載就執行while循環裏的語句! while mount |grep "$Disk" &>/dev/null;do #顯示硬盤掛載信息 echo "您的硬盤已經被掛載,掛載信息如下:" mount | grep "$Disk" #提示用戶是否繼續操作 echo -e -n "\033[1;31;49m是否要強制卸載$Disk硬盤?(y繼續|n退出):\033[0m" read Umount #如果用戶輸入n,則退出腳本! if [ $Umount == n ];then echo "您選擇了退出!退出成功!" exit 4 #如果用戶輸入y,則強制卸載硬盤 elif [ $Umount == y ];then echo "正在卸載$Disk,請等待......" #通過for循環卸載已經掛載的硬盤 for i in `mount |grep "$Disk"|awk '{print $3}'`;do fuser -km $i >/dev/null umount $i >/dev/null echo "卸載$Disk硬盤成功!" done #如果用戶輸入的不是y或者n,則提示用戶輸入錯誤,請重新輸入 else read -p "您的輸入有誤,請重新輸入(y繼續|n退出):" Umount fi done #提示用戶將會格式化硬盤,是否繼續 echo -n -e "\033[1;31;49m將會格式化$Disk硬盤,是否繼續?(y繼續|n退出):\033[0m" read Choice #如果用戶輸入的不是y或者n,就提示用戶輸入錯誤,請重新輸入 until [ $Choice == y -o $Choice == n ];do read -p "您的輸入有誤,請重新輸入(y繼續|n退出):" Choice done #如果用戶輸入n,就退出腳本!<BR>if [ $Choice == n ];then echo "您選擇了退出!退出成功!" else #如果用戶輸入y,則繼續執行! echo -e "即將對$Disk硬盤進行分區" sleep 3 #清除硬盤數據 dd if=/dev/zero of=/dev/sdd bs=512 count=1 >/dev/null sync echo "格式化$Disk硬盤成功!" sleep 3 echo "正在對$Disk硬盤進行分區,請等待......" #對硬盤進行分區 #通過管道將echo的值傳給fdisk命令 echo 'n p 1 +50M n p 2 +50M n p 3 +100M t 3 82 w' | fdisk $Disk >/dev/null #顯示分區信息 echo "$Disk硬盤分區成功!硬盤分區信息如下:" fdisk -l | grep "$Disk" echo "即將對硬盤分區進行格式化!請等待......" #格式化分區! mke2fs -t ext4 ${Disk}1 >/dev/null echo "${Disk}1分區格式化完成!" mke2fs -t ext4 ${Disk}2 >/dev/null echo "${Disk}2分區格式化完成!" mkswap ${Disk}3 >/dev/null echo "Swap交換分區創建完成!" #硬盤分區格式化成功! echo -e "\033[1;31;49m$Disk硬盤分區格式化完成!\033[0m" fi
執行結果:
腳本二:
通過ping命令檢測某個網段主機是否存活
首先,我是在虛擬機上做的實驗,並沒有很多主機。那麼我們可以先通過一個簡單的腳本創建一些虛擬網卡並配上IP。
注意:不要創建太多的虛擬網卡數量,如果數量過多,創建過程會非常的慢;還有ping腳本命令測試之後,你要刪除這些虛擬網卡,不然等下次你重新啓動虛擬機的時候會非常的慢~~~
執行結果:
這裏我沒有其他輸出信息,使用ifconfig查看,虛擬網卡已經創建成功並且成功啓動。接下來就可以進行我們的ping測試了。
ping腳本如下執行結果:
查看/tmp/host_up.log和/tmp/host_down.log
上邊的腳本中,有些echo行我是註釋掉的,如果取消註釋,可以查看更多信息。
總結:這兩個腳本在生成環境中還是有一定作用的,尤其是ping命令檢測。通過這兩個腳本,我們也可以更好的掌握腳本的編寫方法。前路漫漫,每一步都不容易。腳踏實地的走好每一步!