搜尋
首頁電腦教學電腦知識實戰:運維必備Linux巡檢腳本

巡检意义

  • 及时发现隐患:对服务器进行巡检能够及时发现服务器的隐患,以便于改善和优化服务器的性能。
  • 观察运行状况:观察服务器的运行状况,及时对设备进行调整,保证服务器的24小时不间断的工作。
  • 采集网内服务器信息:通过巡检,可以采集网内服务器信息,了解服务器的配置和运行情况。
  • 提高效率:使用巡检脚本可以有效地减少人力、物力和时间成本,提高巡检效率。
  • 保证全面性和准确性:人工巡检很容易出现疏漏和错误,而巡检脚本可以自动化处理巡检任务,避免疏漏和错误,保证巡检的全面性和准确性。
  • 确保服务器安全性:巡检脚本可以扫描服务器的安全漏洞,及时发现风险,减少服务器被攻击的可能性,确保服务器安全性。
  • 實戰:運維必備Linux巡檢腳本

    巡检脚本

    vim /root/dean.sh

    #! /bin/bash
    # Author:Dean
    # Web:https://www.bunian.cn
    # 微信公众号:不念博客
    
    #color notes
    NC='33[0m'
    GREEN='33[0;32m'
    RED='33[0;31m'
    YELLOW='33[0;33m'
    cyan='33[0;36m'
    yellow='33[0;33m'
    #Sectioning .........
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    echo "Server details:"
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    
    #fetching basic specs from the server(user,ip,os)
    user=`whoami`
    echo -e "${cyan}User:${NC} $user"
    hostname=`hostname`
    echo -e "${cyan}hostname:${NC} $hostname"
    ip=`hostname -I`
    echo -e "${cyan}IP address:${NC} $ip"
    os=`cat /etc/os-release | grep 'NAME|VERSION' | grep -v 'VERSION_ID' | grep -v 'PRETTY_NAME' | grep NAME`
    echo -e "${cyan}OS:${NC} $os"
    
    #Sectioning.....
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    echo "Service status:"
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    sleep 1
    
    #checking tomcat status
    echo -e "${yellow}1) Tomcat${NC}"
    #grepping tomcat status from ps aux
    pp=`ps aux | grep tomcat | grep "[D]java.util"`
    if [[ $pp =~ "-Xms512M" ]];then
     echo -e " Status: ${GREEN}UP${NC}"
    
    else
     echo -e " Status: ${RED}DOWN${NC}"
    
    fi
    echo ""
    #function to check apache is running or not!
    function apache(){
    echo -e "${yellow}2) Apache-httpd${NC}"
    #grepping apache status from ps aux
    httpd=`ps aux | grep httpd | grep apache`
    if [[ $httpd =~ "apache" ]];then
     echo -e " Status: ${GREEN}UP${NC}"
    
    else
     echo -e " Status: ${RED}DOWN${NC}"
    
    fi
    
    }
    
    #function to check elastic is running or not
    function elastic(){
    echo -e "${yellow}3) Elasticsearch${NC}"
    #grepping elasticsearch status from ps aux
    elastic=`ps aux | grep elasticsearch`
    if [[ $elastic =~ "elastic+" ]];then
    echo -e " Status: ${GREEN}UP${NC}"
    else
     echo -e "Status: ${RED}DOWN${NC}"
    
    fi
    #function to check mysql is running or not
    }
    function mysql(){
    echo -e "${yellow}4) Mysql${NC}"
    #grepping mysql status from ps aux
    mysql=`ps aux | grep mysqld`
    if [[ $mysql =~ "mysqld" ]];then
     echo -e " Status: ${GREEN}UP${NC}"
    else
     echo -e " Status: ${RED}DOWN${NC}"
    
    fi
    }
    
    
    function docker(){
    echo -e "${yellow}5) Docker${NC}"
    #grepping docker status from ps aux
    docker=`systemctl status docker | grep dead`
    if [[ $docker =~ "dead" ]];then
     echo -e " Status: ${GREEN}UP${NC}"
    else
     echo -e " Status: ${RED}DOWN${NC}"
    
    fi
    }
    
    #calling functions
    apache
    echo ""
    elastic
    echo ""
    mysql
    echo ""
    docker
    echo ""
    #Sectioning............
    #Fetching mem and cpu informations
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    echo "Memory Details:"
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    sleep 1
    #view mem info
    free -h
    #get uptime details
    uptime=$(uptime | awk '{print $3,$4}' | cut -f1 -d,)
    echo -e "${cyan}System Uptime:${NC} :$uptime"
    #Fetching the load average
    loadaverage=$(top -n 1 -b | grep "load average:" | awk '{print $10 $11 $12}')
    echo -e "${cyan}Load average:${NC}: $loadaverage"
    echo -e "${cyan}The top 10 services with high resource usage are listed below.${NC}"
    #Get top services with high resource utilization
    ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
    
    
    #sectioning...........
    #Fetching server space details!
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    echo "Server space Details:"
    echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
    #View disk space details
    df -h
    
    
    echo "----------------------------------------------------------------------------------------------------------------"

    我们可以将该脚本转换为全局命令,将文件移动到 sbin 目录,并赋予执行权限。

    mv /root/dean.sh /usr/sbin
    chmod +x /usr/sbin/dean.sh

    添加至别名里

    vim /root/.bashrc
    alias dean='sh /usr/sbin/dean.sh'

    生效

    source .bashrc

    现在您可以在 shell 的任何位置调用该脚本。

    dean

    执行效果

    优势

    • 只需一个命令就可以轻松访问完整的服务器信息,并且还可以在出现问题时安排警报通知。
    • 编辑脚本并添加服务非常简单。
    • 显示有关正在运行的进程、磁盘空间、宕机时间、内存详细信息、高进程列表等的详细信息。

    以上是實戰:運維必備Linux巡檢腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文轉載於:每日运维。如有侵權,請聯絡admin@php.cn刪除
    files for ExpressVPN不連接Windows PC/Mac/iPhone上的連接 -  Minitoolfiles for ExpressVPN不連接Windows PC/Mac/iPhone上的連接 - MinitoolMay 01, 2025 am 12:51 AM

    ExpressVPN是否在iPhone,Android電話,Mac或Windows PC上連接?如果ExpressVPN無法連接或工作,該怎麼辦?放輕鬆,然後從這篇文章中找到解決方案。在這裡,PHP.CN收集了多種解決此Internet問題的方法。

    Windows 10/11上100%GPU使用的目標解決方案Windows 10/11上100%GPU使用的目標解決方案May 01, 2025 am 12:50 AM

    100%GPU使用情況不好嗎?如何在Windows 10中修復100%的GPU使用情況?不要煩惱。 PHP.CN網站為您提供本文,以解決較高的GPU問題。如果您經歷了100%的GPU使用情況,這些方法值得一試。

    如何在Word中下載/安裝/添加/添加/刪除/禁用加載項-Minitool如何在Word中下載/安裝/添加/添加/刪除/禁用加載項-MinitoolMay 01, 2025 am 12:49 AM

    您可以在Microsoft Word中使用加載項來獲取更多功能。這篇文章介紹瞭如何在Microsoft Word中下載,安裝,添加或刪除加載項。還提供了免費的文件恢復方法,以幫助您恢復已刪除/丟失的單詞或任何其他文件。

    修復系統備份錯誤代碼0x807800A1&0x800423f3 -Minitool修復系統備份錯誤代碼0x807800A1&0x800423f3 -MinitoolMay 01, 2025 am 12:48 AM

    有些人發現系統備份錯誤代碼0x807800A1&0x800423f3試圖創建系統備份時。這些代碼將阻止您執行任何備份任務。不用擔心! PHP.CN網站上的本文將教您如何修復

    Windows 10 Enterprise ISO下載/安裝,輕鬆學習指南Windows 10 Enterprise ISO下載/安裝,輕鬆學習指南May 01, 2025 am 12:47 AM

    是否想獲得Windows 10 Enterprise的ISO文件以將其安裝以供業務使用? Windows 10 Enterprise ISO下載&安裝很容易,PHP.CN將通過某種直接下載向您展示如何下載Windows 10 Enterprise ISO 20H2、21H1或21H2

    nordvpn在Windows 11不起作用:這裡有簡單的修復 -  Minitoolnordvpn在Windows 11不起作用:這裡有簡單的修復 - MinitoolMay 01, 2025 am 12:46 AM

    nordvpn不連接或在Windows 11計算機上連接或工作?您知道這個問題的原因嗎?如果您想解決這個問題,您知道應該怎麼做嗎?如果您不知道,您來了。在這篇文章中,PHP.CN軟件

    Twitter倒下了嗎?如何檢查?如何修復它?閱讀這篇文章! -  MinitoolTwitter倒下了嗎?如何檢查?如何修復它?閱讀這篇文章! - MinitoolMay 01, 2025 am 12:45 AM

    如今,Twitter在世界範圍內變得越來越受歡迎。但是,有時您可能會發現它無法正常工作。 Twitter倒下了嗎?如何檢查?如何修復它?來自PHP.CN的這篇文章為您提供了詳細信息。

    紅財發布日期,預告片,預訂和最新新聞-Minitool紅財發布日期,預告片,預訂和最新新聞-MinitoolMay 01, 2025 am 12:44 AM

    什麼時候出售紅色? Redfall粉絲迫不及待想嘗試這個遊戲。幸運的是,發布日期已經澄清,我們知道的有關紅色的更多信息將在PHP.CN網站上的本文中披露,因此,如果您有興趣,

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    SublimeText3 英文版

    SublimeText3 英文版

    推薦:為Win版本,支援程式碼提示!

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    SecLists

    SecLists

    SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    將Eclipse與SAP NetWeaver應用伺服器整合。