Shell——實戰
指令碼程式設計步驟
1、需求分析
根據系統管理的需求,分析指令碼要實現的功能、功能實現的層次、實現的命令與語句等
2、命令測試
將要用到的命令逐個進行測試,以決定使用的選項、要設定的變數等
3、指令碼程式設計
將測試好的命令寫入指令碼檔案中,並通過各種語句將命令執行的結果儲存、判斷或者發出警報等
4、測試調優
1、對指令碼進行測試,並根據結果進行優化
2、建議一邊程式設計一邊除錯,以減少錯誤的發生
MAC記錄和埠掃描
企業環境說明:
隨著業務的不斷髮展,某公司所使用的Linux伺服器也越來越多。在系統管理和維護過程中,經常需要編寫一些實用的小指令碼,以輔助運維工作,提高效率。
需求描述:
1、編寫名為system.sh的指令碼,記錄區域網中個主機的MAC地址,儲存到/etc/ethers檔案中;若此檔案已存在,應先轉移進行備份;每行一條記錄,第一行為IP地址,第2列為對應的MAC地址
2、檢查有哪些主機開啟了匿名FTP服務,掃描物件為/etc/ethers檔案中的所有IP地址,掃描的埠為21
[root@client3 ~]# vi system.sh
#!/bin/bash
#記錄線上使用者IP地址和MAC地址,並測試其是否開放21號埠
nadd="20.0.0."
file="/etc/ethers"
#傳送arp請求,並記錄反饋結果
touch /etc/ethers
touch /etc/ethers.old
touch file1.txt
[ -f $file ] && /bin/cp -f $file $file.old ##備份原有檔案
hadd=1 ##定義起始掃描地址
while [ $hadd -le 254 ]
do
arping -c 2 -w 1 -I ens33 ${nadd}${hadd} &> /dev/null
if [ $? -eq 0 ] ;
then
arp -n | grep ${nadd}${hadd} | awk '{print $1,$3}' >> $file
fi
let hadd++
done
sort -u $file > /root/file1.txt
# ftp 線上測試
target=$(awk '{print $1}' /root/file1.txt)
for ip in $target
do
wget ftp://$ip/ &> /dev/null
if [ $? -eq 0 ]
then echo "$ip ftp server is up"
rm -rf index.html
fi
done
[root@client3 ~]# sh system.sh
[root@client3 ~]# cat file1.txt
20.0.0.1 00:50:56:c0:00:08
20.0.0.11 00:0c:29:9c:9e:90
20.0.0.12 00:0c:29:74:49:d1
20.0.0.2 00:50:56:e3:6f:c1
相關文章
- shell——一鍵部署服務實戰
- shell實戰之tomcat看門狗Tomcat
- Linux Shell 程式設計實戰技巧Linux程式設計
- UEFI實戰——寫一個自己的Shell命令
- shell實戰之Linux主機系統監控Linux
- 10 個實戰及面試常用 Shell 指令碼編寫面試指令碼
- shell程式設計,實戰高階進階教學程式設計
- shell指令碼企業實戰系列-nginx原始碼包安裝指令碼Nginx原始碼
- Shell變數有哪些分類?linux運維實戰學習變數Linux運維
- 實戰模擬監控MySQL服務shell指令碼小結薦MySql指令碼
- Shell指令碼最佳實踐指令碼
- shell的多程式實現
- Shell常見命令實踐
- 簡單的Shell指令碼實戰演練,測試菜鳥也可以輕鬆學會指令碼
- 9個實用shell指令碼指令碼
- [SHELL] shell 實現多程式後,如何等待所有程式結束
- RocketMQ實戰系列從理論到實戰MQ
- Maven實戰與原理分析(二):maven實戰Maven
- 實戰篇——CSRF漏洞pikachu靶場實戰
- [shell]shell指令碼實現每天自動抽取資料插入hive表指令碼Hive
- Activiti實戰
- Git實戰Git
- flex實戰Flex
- MQTT 實戰MQQT
- CoreOS實戰
- es 實戰
- AutoGPT實戰GPT
- LangChain實戰LangChain
- SEO 實戰
- ClickHouse實戰
- Sentinel實戰
- Docker實戰Docker
- 實戰NginxNginx
- SaltStack實戰
- php實戰PHP
- Puppet實戰
- RMAN實戰
- WebService實戰Web