動態

詳情 返回 返回

生產環境超實用shell腳本一 - 動態 詳情

生產環境超實用shell腳本一

Shell腳本作為一種強大的自動化工具,能夠幫助運維人員輕鬆應對各種複雜的任務。

本文將為您介紹服務器健康檢查、日誌清理、備份以及監控等多個方面,並詳細闡述每個腳本的功能和應用場景,助力您提升運維效率,確保生產環境的穩定運行。

服務器健康檢查腳本

  • 功能: 檢查服務器的CPU、內存、磁盤、網絡等資源使用情況,以及關鍵服務狀態。
  • 應用場景: 定期監控服務器健康狀況,及時發現潛在問題。
  • 示例代碼:
#!/bin/bash

# 獲取CPU使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

# 獲取內存使用率
mem_usage=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')

# 獲取磁盤使用率
disk_usage=$(df -h | awk '$NF=="/"{printf "%s", $5}')

# 獲取網絡連接數
net_connections=$(netstat -ant | wc -l)

# 檢查關鍵服務狀態
service_status=$(systemctl is-active nginx)

# 輸出結果
echo "CPU使用率: $cpu_usage%"
echo "內存使用率: $mem_usage"
echo "磁盤使用率: $disk_usage"
echo "網絡連接數: $net_connections"
echo "Nginx服務狀態: $service_status"

2. 日誌清理腳本

  • 功能: 定期清理過期的日誌文件,釋放磁盤空間。
  • 應用場景: 防止日誌文件無限增長,佔用過多磁盤空間。
  • 示例代碼:
#!/bin/bash

# 定義日誌目錄和保留天數
log_dir="/var/log"
keep_days=7

# 查找並刪除過期日誌文件
find $log_dir -type f -mtime +$keep_days -exec rm -f {} \;

echo "日誌清理完成!"

3. 備份腳本

  • 功能: 定期備份重要數據和配置文件。
  • 應用場景: 防止數據丟失,確保業務連續性。
  • 示例代碼:
#!/bin/bash

# 定義備份目錄和備份文件名
backup_dir="/backup"
backup_file="backup_$(date +%Y%m%d).tar.gz"

# 創建備份目錄
mkdir -p $backup_dir

# 打包備份文件
tar -czf $backup_dir/$backup_file /etc /var/www

echo "備份完成!"

4. 監控腳本

  • 功能: 監控系統資源、服務狀態、網站可用性等,併發送告警通知。
  • 應用場景: 實時監控系統運行狀態,及時發現和處理故障。
  • 示例代碼:
#!/bin/bash

# 定義監控項和閾值
cpu_threshold=80
mem_threshold=90
disk_threshold=85

# 獲取監控數據
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
mem_usage=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')
disk_usage=$(df -h | awk '$NF=="/"{printf "%s", $5}' | sed 's/%//g')

# 判斷是否超過閾值併發送告警
if [ $cpu_usage -gt $cpu_threshold ]; then
    echo "CPU使用率超過閾值!" | mail -s "CPU告警" admin@example.com
fi

if [ $mem_usage -gt $mem_threshold ]; then
    echo "內存使用率超過閾值!" | mail -s "內存告警" admin@example.com
fi

if [ $disk_usage -gt $disk_threshold ]; then
    echo "磁盤使用率超過閾值!" | mail -s "磁盤告警" admin@example.com
fi

總結

  1. 服務器健康檢查腳本:檢查服務器的CPU、內存、磁盤、網絡等資源使用情況,以及關鍵服務狀態。
  2. 日誌清理腳本:定期清理過期的日誌文件,釋放磁盤空間。
  3. 備份腳本:定期備份重要數據和配置文件。
  4. 監控腳本:監控系統資源、服務狀態、網站可用性等,併發送告警通知。

通過使用這些腳本,運維人員可以更好地管理生產環境,及時發現和解決問題,確保業務的連續性。

– 歡迎點贊、關注、轉發、收藏【我碼玄黃】,各大平台同名。

user avatar journey_64224c9377fd5 頭像 u_16077267 頭像 u_11537046 頭像 xvrzhao 頭像 vivo_tech 頭像 cloudace 頭像 kaika1 頭像 shiwangdehuangdou_bpfcez 頭像 anjingdexiaoyanyao_ciaxxr 頭像 servicedeskplus 頭像 bizseerbishikeji 頭像 zailushang_5bdab5b6eaf7d 頭像
點贊 12 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.