中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實操 : shell編程實戰

發布時間:2020-06-30 19:10:35 來源:網絡 閱讀:482 作者:wx5d8b05ec4cbc3 欄目:系統運維

前言

  • mac記錄與端口掃描腳本
  • 開發系統監控腳本

一 : 腳本編程步驟分享

1.1 腳本編程步驟

1.2 需求分析

  • 根據系統管理的需求,分析腳本要實現的功能、功能實現的層次、實現的命令與語句等

1.3 命令測試

  • 將要用到的命令逐個進行測試,以決定使用的選項、要設置的變量等

1.4 腳本編程

  • 將測試好的命令寫入到腳本文件中,并通過各種語句將命令執行的結果保存、判斷或者發出報警等

1.5 調試優化

  • 對腳本進行測試,并根據結果進行優化
  • 建議一遍編程一邊調試,以減少錯誤的發生

二 : mac記錄與端口掃描腳本

2.1 企業環境說明

  • 隨著業務的不斷發展,某公司所使用的Linux服務器也越來越多。在系統管理和維護過程中,經常需要編寫一些使用的小腳本,以輔助運維工作,提高工作效率

2.2 需求描述

  • 編寫名為system.sh的小腳本,記錄局域網中各主機的mac地址,保存到/etc/ethers文件中;若此文件已存在,應先轉移進行備份;每行一條記錄,第一列為ip地址,第二列為對應的mac地址
  • 檢查有哪些主機開啟了匿名ftp服務,掃描對象為/etc/ethers文件的所有ip地址,掃描的端口為21

2.3 命令測試

  • 分析:記錄局域網中各主機的mac地址,保存到/etc/ethers文件中;若此文件已存在,應先轉移進行備份;檢查有哪些主機開啟了匿名ftp服務,掃描對象為/etc/ethers文件的所有ip地址,掃描的端口為21
    • arping -c 2 -w 1 -I 網卡名 ip地址 //發送mac地址解析請求,或者使用ping
    • arp -n 記錄mac
    • awk 打印ip與mac地址
    • 使用wget下載的方法測試ftp服務
[root@localhost ~]# arping -c 2 -w 1 -I ens33 192.168.247.134
ARPING 192.168.247.134 from 192.168.247.136 ens33
Unicast reply from 192.168.247.134 [00:0C:29:52:4D:89]  1.452ms
Unicast reply from 192.168.247.134 [00:0C:29:52:4D:89]  1.182ms
Sent 2 probes (1 broadcast(s))
Received 2 response(s)

配置ftp匿名訪問模式, 首先輸入命令“vi /etc/vsftpd/vsftpd.conf” 打開ftp服務具體配置文件

進行修改(有點改,沒有的添)(去“#”號)

參數 作用
anonymous_enable=YES 允許匿名訪問模式。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_upload_enable=YES 允許匿名用戶上傳文件
anon_mkdir_write_enable=YES 允許匿名用戶創建目錄
anon_other_write_enable=YES 允許匿名用戶修改目錄名或刪除目錄

2.4 腳本編程與調試

  • 通過arping命令發送ARP請求,使用if語句根據反饋結果記錄mac地址
  • 將網段地址賦值給變量,作為檢測地址的前綴
  • 使用循環語句,重復檢測目標并記錄mac地址,主機地址為1-254
  • 通過awk命令過濾出/etc/ethers文件中的所有ip地址,賦值給變量,使用循環語句,讀取變量中的ip地址,重復探測ftp開啟情況
#!/bin/bash
#測試文件是否存在,若存在,就將當前文件備份
[ -f /etc/ethers ]
if [ $? -eq 0 ]
then
cp -p /etc/ethers /etc/ethers.bak
fi
#去ping254個地址,將成功的ip地址和mac追加到/ethers
for ((i=134;i<=139;i++))
do
  ping -c 3 -w 3 192.168.247.$i &> /dev/null
  if [ $? -eq 0 ]
  then
  echo "192.168.247.$i 存活"
  fi
done
arp -n | grep "ether" | awk '{print $1,$3}' > /etc/ethers
#檢查是否安裝nmap掃描軟件
rpm -q nmap
if [ $? -eq 1 ]
then    
yum clean all 
yum list     
yum install nmap -y 
[ $? -eq 0 ] && echo "未安裝namp掃描工具,當前已為您安裝"
fi
#檢查有哪些ip開啟了匿名服務ftp服務,即22端口
for a in $(cat /etc/ethers | awk '{print $1}')
do
m=$(nmap -sT $a -p 21 | awk '/ftp/{print $2}')
if [ $m = open ]
then
echo "$a 開啟ftp服務"
fi
done

三 : 開發系統監控腳本

3.1 企業環境說明

  • 某公司隨著業務的不斷發展,所使用的linux服務器也越來越多。管理員希望編寫一個簡單的性能監控腳本,放到各服務器中,當監控指標出現異常時發送告警郵件

3.2 需求描述

  • 編寫名為sysmon.sh的shell監控腳本
  • 監控內容包括CPU使用率、內存使用率、根分區的磁盤占用率
  • 百分比只精確到個位,如7%、12%、23%等
  • 出現以下任意情況時告警:磁盤占用率超過90%、cpu使用率超過80%、內存使用率超過90%,告警郵件通過mail命令發送到指定郵箱
  • 結合crond服務,每半個小時執行一次監控腳本

3.3 思路與命令測試

  • 分析:監控內容包括cpu使用率、內存使用率、根分區的磁盤占用率
  • df命令
  • awk命令
  • mpstat 命令 (需安裝sysstat軟件包)
  • free命令
  • crontab命令

3.4 腳本編程與調試

  • 使用df命令提取出根分區的磁盤占用率,賦值給變量DUG
  • 使用mpstat命令提取cpu使用率,賦值給變量CUG
  • 使用free命令提取出內存使用率,賦值給變量MUG
  • 使用if語句判斷上述監控項目是否超標,將需要告警的信息保存到/tmp/alert.txt文件;若存在則作為告警郵件發送
  • 調試優化并設置crontab計劃
#!/bin/bash
#/根分區的當前占用率
DUG=$(df -Th | grep '/$' | awk '{print $6}' | sed  's/%//')
#cpu 的當前空閑占用率
CUG=$(mpstat | grep 'all' | awk '{print $13}' | awk -F. '{print $1}')
#內存當前占用率
used=$(free | grep 'Mem' | awk '{print $3}')
total=$(free | grep 'Mem' | awk '{print $2}')
(( MUG = used*100/total))
genfenquzhanyong=當前根磁盤占用未到警戒線20%
cpukongxian=當前cpu空閑資源未低于警戒線1%
neicunzhanyong=當前內存占用未超過警戒線10%
#當根分區占用率超過10時
if [ $DUG -gt 10 ]
then
echo `date`  >> /tmp/alert.txt
echo "當前磁盤占用超過10%" >> /tmp/alert.txt
genfenquzhanyong='當前根磁盤占用超過警戒線20%,為$DUG%'
fi
#當cpu的空閑內存小于20時
if [ $CUG -lt 1 ]
then
echo `date`  >> /tmp/alert.txt
echo "當前cpu空閑資源小于1%" >> /tmp/alert.txt
cpukongxian='當前cpu空閑資源低于警戒線1%,為$CUG'
fi

if [ $MUG -gt 10 ]
then
echo `date`  >> /tmp/alert.txt
echo "當前內存占用超過10%" >> /tmp/alert.txt
neicunzhanyong='當前內存占用超過警戒線10%,為$MUG'
fi
rpm -q expect
if [ $? -ne 0 ]
then
yum install expect -y
fi
echo "$genfenquzhanyong,$cpukongxian,$neicunzhanyong" | mail "965483130@qq.com"

[root@localhost ~]# crontab -e -u root
[root@localhost ~]# crontab -l
30 * * * *      /usr/bin/sh /root/sysmon.sh
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潼关县| 广昌县| 格尔木市| 东阳市| 讷河市| 满洲里市| 闵行区| 乌拉特后旗| 石阡县| 察雅县| 小金县| 靖安县| 冀州市| 开封县| 建水县| 曲阜市| 伊春市| 富平县| 景谷| 鹿邑县| 桑日县| 克拉玛依市| 高邮市| 河南省| 凤翔县| 辽宁省| 仁怀市| 军事| 涿鹿县| 铁力市| 普兰店市| 车致| 平度市| 纳雍县| 宁乡县| 鲁山县| 浙江省| 乌兰县| 金秀| 潼南县| 崇仁县|