使用shell指令碼輔助運維工作 張九冫

2022-09-23 04:45:11 字數 1346 閱讀 9179

編寫乙個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...