国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux運(yùn)維】shell腳本檢查服務(wù)器內(nèi)存和CPU利用率

這篇具有很好參考價值的文章主要介紹了【Linux運(yùn)維】shell腳本檢查服務(wù)器內(nèi)存和CPU利用率。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在管理服務(wù)器時候?qū)懥艘粋€ shell腳本,在服務(wù)上實(shí)現(xiàn)每天凌晨3點(diǎn)查系統(tǒng)的指定文件夾下的容量大小,如果超過10G就要刪除3天前的內(nèi)容,還要時刻查詢內(nèi)存和cpu利用率,如果超過80%就要提示用戶出現(xiàn)過載

#!/bin/bash

# 指定要檢查的文件夾路徑
folder_path="/path/to/folder"

# 獲取當(dāng)前日期前三天的日期
three_days_ago=$(date -d "3 days ago" +%Y%m%d)

# 獲取當(dāng)前日期時間
datetime=$(date +%Y%m%d_%H%M%S)

# 檢查文件夾容量,如果超過10G就刪除3天前的內(nèi)容
folder_size=$(du -s $folder_path | awk '{print $1}')
if [ $folder_size -gt 10485760 ]; then
  echo "$datetime: Folder size exceeds 10G, deleting files before $three_days_ago"
  find $folder_path -type f -name "*" -mtime +3 -delete
fi

# 檢查內(nèi)存和CPU利用率,如果超過80%就提示用戶出現(xiàn)過載
mem_usage=$(free | awk '/Mem/{printf("%.2f"), $3/$2*100}')
cpu_usage=$(top -bn1 | awk '/Cpu/{printf("%.2f"), $2}')
if (( $(echo "$mem_usage > 80" | bc -l) )) || (( $(echo "$cpu_usage > 80" | bc -l) )); then
  echo "$datetime: System is overloaded, please take action"
fi

將以上代碼保存為一個.sh文件,然后通過crontab在每天凌晨3點(diǎn)運(yùn)行即可:

crontab -e
0 3 * * * /path/to/script.sh

以下是 system_check.sh 腳本中每一行的詳細(xì)解釋:

#!/bin/bash

這是 Bash 腳本的第一行,用于指定腳本使用的解釋器。在這里,#!/bin/bash 表示使用 Bash 解釋器來執(zhí)行該腳本。

# 指定要檢查的文件夾路徑
folder_path="/path/to/folder"

這一行定義了一個變量 folder_path,用于指定要檢查的文件夾路徑。在這里,變量的值為 /path/to/folder,可以根據(jù)實(shí)際情況修改。

# 獲取當(dāng)前日期前三天的日期
three_days_ago=$(date -d "3 days ago" +%Y%m%d)

這一行使用 date 命令獲取當(dāng)前日期前三天的日期,并將其保存到變量 three_days_ago 中。+%Y%m%d 表示設(shè)置日期的格式為年月日,例如 20220101。

# 獲取當(dāng)前日期時間
datetime=$(date +%Y%m%d_%H%M%S)

這一行使用 date 命令獲取當(dāng)前日期時間,并將其保存到變量 datetime 中。+%Y%m%d_%H%M%S 表示設(shè)置日期時間的格式為年月日_時分秒,例如 20220101_120000。

# 檢查文件夾容量,如果超過10G就刪除3天前的內(nèi)容
folder_size=$(du -s $folder_path | awk '{print $1}')
if [ $folder_size -gt 10485760 ]; then
  echo "$datetime: Folder size exceeds 10G, deleting files before $three_days_ago"
  find $folder_path -type f -name "*" -mtime +3 -delete
fi

這一段代碼用于檢查文件夾容量,如果超過10G就刪除3天前的內(nèi)容。具體來說:

  • du -s $folder_path 命令用于計(jì)算指定文件夾的容量大小,并將結(jié)果保存到變量 folder_size 中。-s 表示只顯示總計(jì)大小,不顯示每個子目錄的大小。
  • if [ $folder_size -gt 10485760 ]; then 表示如果文件夾的容量大小超過10G(即 10485760 KB),則執(zhí)行下面的命令。
  • echo "$datetime: Folder size exceeds 10G, deleting files before $three_days_ago" 表示輸出一條提示信息,指示文件夾容量超過10G,并將日期時間和三天前的日期插入到提示信息中。
  • find $folder_path -type f -name "*" -mtime +3 -delete 命令用于查找并刪除文件夾中3天前的文件。-type f 表示只查找文件,-name "*" 表示查找所有文件,-mtime +3 表示查找修改時間在3天前的文件,-delete 表示刪除查找到的文件。
# 檢查內(nèi)存和CPU利用率,如果超過80%就提示用戶出現(xiàn)過載
mem_usage=$(free | awk '/Mem/{printf("%.2f"), $3/$2*100}')
cpu_usage=$(top -bn1 | awk '/Cpu/{printf("%.2f"), $2}')
if (( $(echo "$mem_usage > 80" | bc -l) )) || (( $(echo "$cpu_usage > 80" | bc -l) )); then
  echo "$datetime: System is overloaded, please take action"
fi

這一段代碼用于檢查內(nèi)存和 CPU 利用率,如果超過80%就提示用戶出現(xiàn)過載。- free 命令用于查看系統(tǒng)內(nèi)存使用情況。| awk '/Mem/{printf("%.2f"), $3/$2*100}' 表示將 free 命令的輸出通過管道傳遞給 awk 命令,查找含有 Mem 的行,并計(jì)算內(nèi)存使用率。$3/$2*100 表示計(jì)算已用內(nèi)存占總內(nèi)存的百分比,并輸出到變量 mem_usage 中。

  • top -bn1 命令用于查看當(dāng)前 CPU 使用情況。| awk '/Cpu/{printf("%.2f"), $2}' 表示將 top 命令的輸出通過管道傳遞給 awk 命令,查找含有 Cpu 的行,并輸出第二個字段(即 CPU 利用率)到變量 cpu_usage 中。
  • if (( $(echo "$mem_usage > 80" | bc -l) )) || (( $(echo "$cpu_usage > 80" | bc -l) )); then 表示如果內(nèi)存使用率或 CPU 利用率超過80%,則執(zhí)行下面的命令。
  • echo "$datetime: System is overloaded, please take action" 表示輸出一條提示信息,指示系統(tǒng)出現(xiàn)過載,并將日期時間插入到提示信息中。

總的來說,該腳本用于檢查系統(tǒng)狀態(tài),包括文件夾容量和系統(tǒng)資源利用率等方面,如果出現(xiàn)異常情況,則會提示用戶采取相應(yīng)的行動。文章來源地址http://www.zghlxwxcb.cn/news/detail-492525.html

到了這里,關(guān)于【Linux運(yùn)維】shell腳本檢查服務(wù)器內(nèi)存和CPU利用率的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 服務(wù)器的shell腳本

    服務(wù)器的shell腳本

    shell腳本語句可以執(zhí)行l(wèi)inux的操作語句。 linux相當(dāng)于網(wǎng)頁,shell相當(dāng)于java。可以解釋編寫執(zhí)行邏輯。 shell的開頭以:#!bin/sh 定義解析方式,不同的linuxe內(nèi)核解釋方式不同。大多數(shù)內(nèi)核支持sh(bash)方式。 執(zhí)行sh文件可以有多種方式: ? ? ? ? ? ? sh?a.sh ????????bash a.sh ??

    2024年02月14日
    瀏覽(44)
  • Shell腳本常用命令及如何通過shell腳本實(shí)現(xiàn)服務(wù)器上文件的上傳和下載

    Shell腳本常用命令 簡介 1、什么是shell: Shell 是一個用 C 語言編寫的應(yīng)用程序,這個應(yīng)用程序提供了一個界面,用戶通過這個界面訪問操作系統(tǒng)內(nèi)核的服務(wù)。Shell 腳本(shell script),是一種為 shell 編寫的腳本程序,擴(kuò)展名為.sh。 2、如何編寫shell腳本: 文本編輯器(可以使用

    2024年02月03日
    瀏覽(31)
  • shell腳本實(shí)現(xiàn)刪除服務(wù)器指定目錄下文件方法

    上述腳本中,find 命令用于查找指定目錄下4天以前的文件,并將其刪除。其中,-type f 表示只查找普通文件,不包括目錄和符號鏈接等其他類型的文件;-mtime +3 表示查找修改時間早于3天前的文件;-delete 表示刪除查找到的文件。 腳本中的 $folder_path 可以替換為實(shí)際的目錄路徑

    2023年04月19日
    瀏覽(22)
  • shell腳本使用(宿主機(jī)windows-服務(wù)器-centos)--用于使用shell腳本方式控制docker容器

    shell腳本使用(宿主機(jī)windows-服務(wù)器-centos)--用于使用shell腳本方式控制docker容器

    需求: 我想要使得windows上編寫shell腳本,并且在這個shell腳本在linux中也可用 shell腳本在windows上無法直接運(yùn)行,但是有WSL這個linux子系統(tǒng)的工具 可以使得shell腳本在主機(jī)上執(zhí)行 視頻講解連接 方式1 方式2

    2024年02月07日
    瀏覽(60)
  • Shell開發(fā)實(shí)踐:服務(wù)器的磁盤、CPU、內(nèi)存的占用監(jiān)控

    Shell開發(fā)實(shí)踐:服務(wù)器的磁盤、CPU、內(nèi)存的占用監(jiān)控

    ??作者簡介,黑夜開發(fā)者,CSDN領(lǐng)軍人物,全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者?,CSDN博客專家,阿里云社區(qū)專家博主,2023年6月CSDN上海賽道top4。 ??數(shù)年電商行業(yè)從業(yè)經(jīng)驗(yàn),歷任核心研發(fā)工程師,項(xiàng)目技術(shù)負(fù)責(zé)人。 ??歡迎 ??點(diǎn)贊?評論?收藏 CPU、內(nèi)存和磁盤是計(jì)算機(jī)中重要且相互依賴

    2024年02月10日
    瀏覽(31)
  • VMware vCenter服務(wù)器常用的巡檢命令、運(yùn)維命令和PowerShell腳本

    一、前言 最近整理一些VMware vCenter和Esxi常用的巡檢命令和運(yùn)維命令如下: 二、巡檢命令 三、運(yùn)維命令 運(yùn)維常用命令: 四、Powershell腳本 以上就是vCenter和ESXi常用的運(yùn)維與監(jiān)控命令,可以幫助vSphere管理員管理和監(jiān)控環(huán)境。

    2024年02月11日
    瀏覽(22)
  • 實(shí)現(xiàn)判斷服務(wù)器是否有g(shù)it并拉取代碼的shell腳本

    判斷當(dāng)前服務(wù)器是否有g(shù)it,沒有的話使用yum install安裝,然后切換至普通用戶,創(chuàng)建目錄,并且進(jìn)入新創(chuàng)建的目錄,git clone代碼

    2024年02月10日
    瀏覽(28)
  • 在SHELL腳本中用curl處理服務(wù)器開機(jī)、關(guān)機(jī)、強(qiáng)制關(guān)機(jī)、重啟動作

    思路:利用了一張主控板來獲取服務(wù)器的開關(guān)機(jī)狀態(tài),開關(guān)機(jī)其實(shí)是給服務(wù)器一個500ms~1000ms的脈沖,等同與按了機(jī)箱面板的開關(guān)機(jī)按鈕開關(guān)。

    2024年02月07日
    瀏覽(34)
  • shell 腳本統(tǒng)計(jì) http 文件服務(wù)器下指定目錄及其子目錄下所有文件的大小

    shell腳本如下: 首先 vi calculate_size.sh 寫入下入內(nèi)容 執(zhí)行 sh calculate_size.sh http://example.com/some/dir/ 即可統(tǒng)計(jì) http 文件服務(wù)器http://example.com/some/dir/ 中 dir 目錄及其子目錄下所有文件的大小。

    2024年02月15日
    瀏覽(29)
  • 運(yùn)維 | 查看 Linux 服務(wù)器 IP 地址

    大多數(shù)在操作 Linux 系統(tǒng)時,我們經(jīng)常需要知道服務(wù)器的 IP 比便于后續(xù)的一系列操作,這時候有快速查看主機(jī) IP 的命令行操作,能夠有效的幫助我們 本章節(jié)主要記錄一些常用查看服務(wù)器 IP 的命令,希望對大家有所幫助。 查看 Linux 服務(wù)器的 IP 地址的命令大體上有以下幾種。

    2024年04月27日
    瀏覽(103)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包