腳本兩連發

腳本一:

    通過腳本對新硬盤進行分區

 

[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

執行結果:

wKiom1NCeJjTGLVtAANkARG4pjs406.jpg

腳本二:

    通過ping命令檢測某個網段主機是否存活

首先,我是在虛擬機上做的實驗,並沒有很多主機。那麼我們可以先通過一個簡單的腳本創建一些虛擬網卡並配上IP。

 

注意:不要創建太多的虛擬網卡數量,如果數量過多,創建過程會非常的慢;還有ping腳本命令測試之後,你要刪除這些虛擬網卡,不然等下次你重新啓動虛擬機的時候會非常的慢~~~

 

執行結果:

 

wKiom1NCeVHQ09keAAJpDZyi9pE394.jpg

這裏我沒有其他輸出信息,使用ifconfig查看,虛擬網卡已經創建成功並且成功啓動。接下來就可以進行我們的ping測試了。

ping腳本如下執行結果:

wKioL1NCeYSi0BEFAAIn9Fblp1k474.jpg

查看/tmp/host_up.log/tmp/host_down.log

wKioL1NCedXSDQh6AADydFdEetc991.jpg

wKiom1NCef2RL05gAAD5HcaUmts393.jpg

上邊的腳本中,有些echo行我是註釋掉的,如果取消註釋,可以查看更多信息。

 

總結:這兩個腳本在生成環境中還是有一定作用的,尤其是ping命令檢測。通過這兩個腳本,我們也可以更好的掌握腳本的編寫方法。前路漫漫,每一步都不容易。腳踏實地的走好每一步!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章