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實戰之tomcat看門狗Tomcat
- shell——一鍵部署服務實戰
- shell實戰之Linux主機系統監控Linux
- shell程式設計,實戰高階進階教學程式設計
- 10 個實戰及面試常用 Shell 指令碼編寫面試指令碼
- Shell變數有哪些分類?linux運維實戰學習變數Linux運維
- shell指令碼企業實戰系列-nginx原始碼包安裝指令碼Nginx原始碼
- shell的多程式實現
- Shell指令碼最佳實踐指令碼
- [SHELL] shell 實現多程式後,如何等待所有程式結束
- [Linux]簡單的shell實現Linux
- 9個實用shell指令碼指令碼
- 【Linux】【Shell】主控指令碼實現Linux指令碼
- 簡單的Shell指令碼實戰演練,測試菜鳥也可以輕鬆學會指令碼
- [shell]shell指令碼實現每天自動抽取資料插入hive表指令碼Hive
- 模擬實現簡易版shell
- 幾例實用的Shell指令碼指令碼
- [ Shell ] 兩個 case 實現 GetOptions 效果
- shell指令碼實現DNS正向解析指令碼DNS
- Shell:子shell概念
- Linux與Shell 第2天 實操、軟體包管理、Shell程式設計Linux程式設計
- shell-【技術乾貨】工作中編寫shell指令碼實踐指令碼
- 分享兩個實用的shell指令碼指令碼
- 價值8000元的Linux教程免費送|千鋒出品《Shell程式設計從入門到實戰》Linux程式設計
- shell——shell輸入輸出
- RocketMQ實戰系列從理論到實戰MQ
- 實戰篇——CSRF漏洞pikachu靶場實戰
- Maven實戰與原理分析(二):maven實戰Maven
- Shell程式設計-11-子Shell和Shell巢狀程式設計巢狀
- Shell
- 自己動手實現 Shell 多程式管道符
- shell指令碼實現---Zabbix5.0快速部署指令碼
- bash shell實現2048小遊戲詳解遊戲
- JSBridge實戰JS
- CoreOS實戰
- Activiti實戰
- MQTT 實戰MQQT
- DevOps實戰dev