最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux命令編寫一個用于監(jiān)控系統(tǒng)資源的腳本

 更新時間:2026年06月02日 09:26:12   作者:不拘小節(jié)的竹筍_ecLhal  
這篇文章主要為大家詳細介紹了如何通過Linux命令編寫一個用于監(jiān)控系統(tǒng)資源的腳本,支持CPU、內(nèi)存、磁盤使用率和系統(tǒng)負載等監(jiān)控項,希望對大家有所幫助

介紹

我給你寫一個開箱即用、功能完整、格式清晰的 Linux 監(jiān)控腳本,支持監(jiān)控:

  • CPU 使用率
  • 內(nèi)存使用率
  • 磁盤使用率
  • 系統(tǒng)負載
  • 網(wǎng)絡(luò)流量
  • 進程 TOP 5

腳本會自動格式化輸出,可以定時運行、日志記錄、也可配合告警使用。

完整腳本:sys_monitor.sh

#!/bin/bash
# ==============================================
# Linux 系統(tǒng)資源監(jiān)控腳本
# 功能:CPU / 內(nèi)存 / 磁盤 / 負載 / 網(wǎng)絡(luò) / 進程
# ==============================================
# 日志輸出文件(可自定義)
LOG_FILE="/var/log/sys_monitor.log"
# 獲取當前時間
CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")
# ==============================================
# 1. 輸出標題
# ==============================================
echo -e "\n==================================================" | tee -a $LOG_FILE
echo "系統(tǒng)監(jiān)控報告 - $CURRENT_TIME" | tee -a $LOG_FILE
echo "==================================================" | tee -a $LOG_FILE
# ==============================================
# 2. 系統(tǒng)版本與主機信息
# ==============================================
echo -e "\n?? 主機信息:" | tee -a $LOG_FILE
hostnamectl | grep "Static hostname" | awk '{print "主機名: " $3}' | tee -a $LOG_FILE
hostnamectl | grep "Operating System" | cut -d: -f2 | tee -a $LOG_FILE
hostnamectl | grep "Kernel" | cut -d: -f2 | tee -a $LOG_FILE
# ==============================================
# 3. CPU 使用率
# ==============================================
echo -e "\n?? CPU 使用情況:" | tee -a $LOG_FILE
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *([0-9.]*)%* id.*/\1/" | awk '{print 100 - $1}')
echo "CPU 總使用率: $CPU_USAGE%" | tee -a $LOG_FILE
# ==============================================
# 4. 內(nèi)存使用率
# ==============================================
echo -e "\n?? 內(nèi)存使用情況:" | tee -a $LOG_FILE
free -h | awk 'NR==2{
    printf "總內(nèi)存: %s\n已用: %s\n空閑: %s\n使用率: %.2f%%\n", $2, $3, $4, $3/$2*100
}' | tee -a $LOG_FILE
# ==============================================
# 5. 系統(tǒng)負載(1/5/15分鐘)
# ==============================================
echo -e "\n?? 系統(tǒng)負載:" | tee -a $LOG_FILE
uptime | awk '{print "1分鐘負載: " $10 "  5分鐘負載: " $11 "  15分鐘負載: " $12}' | tee -a $LOG_FILE
# ==============================================
# 6. 磁盤使用率(根分區(qū) /)
# ==============================================
echo -e "\n?? 磁盤使用率:" | tee -a $LOG_FILE
df -h / | awk 'NR==2{
    printf "總?cè)萘? %s\n已用: %s\n可用: %s\n使用率: %s\n", $2, $3, $4, $5
}' | tee -a $LOG_FILE
# ==============================================
# 7. 網(wǎng)絡(luò)流量(網(wǎng)卡名可自行修改)
# ==============================================
echo -e "\n?? 網(wǎng)絡(luò)流量(網(wǎng)卡 eth0):" | tee -a $LOG_FILE
# 若網(wǎng)卡不是 eth0,用 ip addr 查看后替換
sar -n DEV 1 1 | grep eth0 | awk 'NR==3{
    printf "接收流量: %.2f MB/s\n發(fā)送流量: %.2f MB/s\n", $5/1024, $6/1024
}' | tee -a $LOG_FILE
# ==============================================
# 8. 占用資源最高的 5 個進程
# ==============================================
echo -e "\n?? TOP5 占用 CPU 最高進程:" | tee -a $LOG_FILE
ps -aux --sort=-%cpu | head -6 | awk '{printf "%-8s %-6s %-6s %s\n", $1, $2, $3, $11}' | tee -a $LOG_FILE
echo -e "\n?? TOP5 占用內(nèi)存最高進程:" | tee -a $LOG_FILE
ps -aux --sort=-%mem | head -6 | awk '{printf "%-8s %-6s %-6s %s\n", $1, $2, $4, $11}' | tee -a $LOG_FILE
# ==============================================
# 結(jié)束
# ==============================================
echo -e "\n==================================================\n" | tee -a $LOG_FILE

使用方法

創(chuàng)建腳本

vi sys_monitor.sh

把上面代碼粘貼進去,保存退出。

賦予執(zhí)行權(quán)限

chmod +x sys_monitor.sh

運行

./sys_monitor.sh

查看日志

cat /var/log/sys_monitor.log

腳本效果預覽

==================================================
系統(tǒng)監(jiān)控報告 - 2025-12-17 15:30:00
==================================================

?? 主機信息:
主機名: localhost
Operating System: CentOS Stream 9
Kernel: Linux 5.14.0-xxx

?? CPU 使用情況:
CPU 總使用率: 12.5%

?? 內(nèi)存使用情況:
總內(nèi)存: 7.6Gi
已用: 2.3Gi
空閑: 4.1Gi
使用率: 30.20%

...

可選增強功能(你可以直接加進去)

超過閾值自動告警(示例)

# 磁盤使用率超過 85% 告警
DISK_USAGE=$(df -h / | grep / | awk '{print $5}' | sed 's/%//g')
if [ $DISK_USAGE -gt 85 ]; then
    echo "??  磁盤使用率過高!當前:$DISK_USAGE%" | tee -a $LOG_FILE
    # 可以發(fā)郵件、企業(yè)微信、釘釘告警
fi

定時監(jiān)控(每分鐘執(zhí)行)

crontab -e

添加:

* * * * * /root/sys_monitor.sh

到此這篇關(guān)于Linux命令編寫一個用于監(jiān)控系統(tǒng)資源的腳本的文章就介紹到這了,更多相關(guān)Linux監(jiān)控系統(tǒng)資源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux云主機安裝pdo詳細教程

    linux云主機安裝pdo詳細教程

    這篇文章主要介紹了linux云主機安裝pdo詳細教程,網(wǎng)上搜到一個幾個還算清晰的教程,但是沒加說明,很多站長按照做了,中途出現(xiàn)錯誤,便不知如何解決了,這里特整理一下方便需要的朋友
    2017-08-08
  • Linux使用Expect腳本實現(xiàn)自動化交互操作

    Linux使用Expect腳本實現(xiàn)自動化交互操作

    Expect是一個基于Tcl的工具,用于自動化處理需要輸入的交互式命令,它可以模擬人類與程序交互,實現(xiàn)無人值守的自動化流程,文章介紹了Expect的基礎(chǔ)使用、常見場景,并提供了Java集成示例,同時,文章還討論了Expect的局限性、替代方案及性能優(yōu)化建議,需要的朋友可以參考下
    2026-04-04
  • Linux 添加永久靜態(tài)路由的方法

    Linux 添加永久靜態(tài)路由的方法

    本篇文章主要介紹了Linux 添加永久靜態(tài)路由的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • linux系統(tǒng)安裝msf的過程詳解

    linux系統(tǒng)安裝msf的過程詳解

    這篇文章主要介紹了linux系統(tǒng)安裝msf的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • linux下如何創(chuàng)建守護進程的步驟

    linux下如何創(chuàng)建守護進程的步驟

    本篇文章主要介紹了linux下如何創(chuàng)建守護進程的步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Ubuntu14.04安裝、配置與卸載QT5的步驟詳解

    Ubuntu14.04安裝、配置與卸載QT5的步驟詳解

    這篇文章主要介紹了Ubuntu14.04安裝、配置與卸載QT5詳細步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Ubuntu Apache配置以及cgi配置方法

    Ubuntu Apache配置以及cgi配置方法

    這篇文章主要介紹了Ubuntu Apache配置以及cgi配置方法,需要的朋友可以參考下
    2015-10-10
  • Linux使用join -a1來合并兩個文件

    Linux使用join -a1來合并兩個文件

    今天小編就為大家分享一篇關(guān)于Linux使用join -a1來合并兩個文件,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • apache中偽靜態(tài)配置和使用(Apache虛擬主機下Discuz偽靜態(tài))

    apache中偽靜態(tài)配置和使用(Apache虛擬主機下Discuz偽靜態(tài))

    apache中偽靜態(tài)配置和使用(Apache虛擬主機下Discuz偽靜態(tài)),需要的朋友可以參考下。
    2012-01-01
  • Linux使用watch命令監(jiān)控Docker容器狀態(tài)的操作方法

    Linux使用watch命令監(jiān)控Docker容器狀態(tài)的操作方法

    在現(xiàn)代的開發(fā)和運維環(huán)境中,容器化技術(shù)已經(jīng)成為一種重要的趨勢,而Docker作為最流行的容器化平臺之一,Linux中的watch命令就是一個非常有用的工具,它可以幫助我們定期執(zhí)行指定的命令,并全屏顯示輸出,本文給大家介紹了在Linux中使用watch命令監(jiān)控Docker容器狀態(tài)
    2024-10-10

最新評論

雷州市| 鹤山市| 孙吴县| 长葛市| 彭山县| 湖南省| 乌拉特后旗| 区。| 河东区| 临桂县| 栖霞市| 吉林市| 奉节县| 漠河县| 临沧市| 鄂托克旗| 夏河县| 剑阁县| 阿拉善左旗| 巴南区| 肃北| 荥经县| 墨竹工卡县| 九江县| 新化县| 黑水县| 盐津县| 达拉特旗| 佛山市| 犍为县| 融水| 太康县| 邵阳县| 大余县| 平阳县| 寿宁县| 五寨县| 天气| 大化| 康马县| 湖北省|