Linux 運維必備:這四個 Shell 腳本讓你的效率提升 300%
你是否也經歷過這些崩潰瞬間?
- 凌晨3點被報警叫醒,手動查日志半小時才發(fā)現(xiàn)是磁盤滿了
- 重復執(zhí)行ps -ef | grep java查看進程狀態(tài),一天敲了20遍
- 新同事誤刪了關鍵日志,卻找不到操作記錄。
今天分享四個實戰(zhàn)Shell腳本,覆蓋80%日常運維場景,從此告別低效手工操作。
效率翻倍腳本清單
1. 服務器「開機自檢」腳本
功能亮點:
- 開機自動生成健康報告
- 異常指標標紅告警
- 可以根據(jù)自身業(yè)務情況選擇微信/郵件進行通知。
該收集系統(tǒng)健康狀態(tài) :
- 獲取 CPU 負載 (top)
- 計算 內存占用率 (free)
- 檢查 磁盤使用情況 (df)
- 監(jiān)測 關鍵服務狀態(tài)(systemctl is-active)
異常指標標紅:
- 設定** CPU >80%、內存 >80%、磁盤 >90% **作為告警閾值
- 超出范圍時,標紅顯示
運行示例:
請將上述腳本內容保存到一個名為 health_check.sh 的文件里。之后,您可以通過運行 bash health_check.sh 來執(zhí)行這個腳本。如果一切順利,您將會看到類似下面展示的結果。
2. 日志「智能清理」工具
痛點解決:
- 傳統(tǒng)rm -rf容易誤刪重要日志
- 手動清理無法精準控制時間/大小
智能清理邏輯:
- find "$LOG_DIR" -type f -name "*.log" -mtime +$RETENTION_DAYS:這個命令會在 LOG_DIR 目錄中查找所有 .log 文件,并且這些文件的修改時間超過了 RETENTION_DAYS 天。-mtime +$RETENTION_DAYS 表示查找修改時間超過 7 天的文件。
- -exec bash -c '...' bash {} +:對于找到的每個文件,-exec 會執(zhí)行一個 Bash 腳本。bash -c '...' 中的腳本會對每個文件執(zhí)行歸檔操作。
3. 進程自動監(jiān)控與重啟腳本
為了確保我們的服務能夠平穩(wěn)運行,當遇到進程意外退出的情況時,我們希望能自動監(jiān)控并重啟這些進程,以減少對業(yè)務的影響。這個腳本正是為此而設計的,它可以幫助我們實現(xiàn)這一目標。
4. 故障「秒級定位」神器
功能演示:
使用 ./log_scan.sh 腳本,快速抓取系統(tǒng)與應用層錯誤,秒級定位問題,助力高效故障排查!
核心代碼:
新手避坑指南
Shell腳本四大死亡陷阱:
- 未處理的空格路徑(永遠用引號包裹變量)
- 直接使用rm -rf $VAR(必須先檢查變量非空)
- 忽略錯誤退出碼(關鍵操作前加set -e)
- 跨平臺換行符問題(用dos2unix預處理腳本)