編寫乙個getarp.sh的指令碼,記錄區域網內各主機的mac位址。儲存到/etc/ethers檔案中,若此檔案已存在,則先轉移進行備份。每行一條記錄,第1列為ip位址,第2列為對應的mac位址。編寫乙個scanhost.sh的掃瞄指令碼,檢查有哪些主機開啟了ftp服務,掃瞄物件是/etc/ethers中所有的ip位址。如下:
[root@localhost ~]# vim getarp.sh
#!/bin/bash
nadd="192.168.1." #需要掃瞄的網段
file="/etc/ethers"
[ -f $file ] && /bin/cp -f $file $file.old # -f為強制複製
hadd=1 #起始掃瞄位址
while [ $hadd -lt 10 ] #最大掃瞄主機位址為10
do ping -c 2 -i 0.2 -w 3 $$ &> /dev/null
if [ $? -eq 0 ] ; then
arp -n | grep $$ | awk '' >> $file
filet hadd++
done
#儲存退出,進行掃瞄:
[root@localhost ~]# . getarp.sh #掃瞄的時間長短,與定義的掃瞄範圍有關。
[root@localhost ~]# cat /etc/ethers #檢視掃瞄結果
192.168.1.2 00:0c:29:9a:09:98
192.168.1.8 00:50:56:c0:00:01
掃瞄埠,檢查哪些主機開啟了匿名ftp服務:
[root@localhost ~]# vim scanhost.sh
#!/bin/bash
target=$(awk '' /etc/ethers)
echo "以下主機已開放匿名ftp服務:"
for ip in $target
do wget ftp://$ip/ &> /dev/null
if [ $? -eq 0 ] ; then
echo $ip
rm -rf index.html
fidone
#儲存退出,進行掃瞄:
[root@localhost ~]# . scanhost.sh
以下主機已開放匿名ftp服務:
192.168.1.2
使用shell指令碼輔助運維工作
儲存到 etc ethers檔案中,若此檔案已存在,則先轉移進行備份。每行一條記錄,第1列為ip位址,第2列為對應的mac位址。2 編寫乙個scanhost.sh的掃瞄指令碼,檢查有哪些主機開啟了ftp服務,掃瞄物件是 etc ethers中所有的ip位址。指令碼如下 root localhost ...
運維常用shell指令碼
開頭加直譯器 bin bash 語法縮排,開頭用四個空格 多加注釋說明。命名規則 變數名大寫 區域性變數小寫 函式名小寫 名字能夠體現實際作用。預設變數是全域性的,在函式中變數local指定為區域性變數,避免汙染其他作用域。指令碼寫完後一定要先除錯再線上使用。echo random md5sum c...
shell!!運維崗實用指令碼示例
實驗2實驗3 兩類機器一共300多台,寫個指令碼自動清理這兩類機器裡面的日誌檔案,在堡壘機上發布,也要批量發布到crontab裡面,a類機器日誌存放路徑很同一,b類機器日誌檔案存放路徑需要用 匹配 因為這個目錄除了日誌外,還有其他檔案,不能刪除,匹配的時候看用 log a類 opt cloud lo...