search
HomeComputer TutorialsComputer KnowledgePractical combat: Essential Linux inspection scripts for operation and maintenance

巡检意义

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

    巡检脚本

    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

    执行效果

    优势

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

    The above is the detailed content of Practical combat: Essential Linux inspection scripts for operation and maintenance. For more information, please follow other related articles on the PHP Chinese website!

    Statement
    This article is reproduced at:每日运维. If there is any infringement, please contact admin@php.cn delete
    Which Is the Best VPN for ChatGPT? - MiniToolWhich Is the Best VPN for ChatGPT? - MiniToolApr 29, 2025 am 12:50 AM

    If you want to use ChatGPT via VPN in an unsupported country, region, or territory, do you know which is the best VPN for ChatGPT? In this post, php.cn Software will introduce some good choices for you. You can select one according to your requiremen

    XboxPcAppFT.exe Bad Image Error: Here Is How to Fix It!XboxPcAppFT.exe Bad Image Error: Here Is How to Fix It!Apr 29, 2025 am 12:49 AM

    How to fix the “XboxPcAppFT.exe bad image” issue on Windows 11/10? This post from php.cn presents multiple methods to resolve the annoying issue. Please go on with your reading.

    How to Fix OneDrive Files Cannot Be Deleted Windows 10/11 - MiniToolHow to Fix OneDrive Files Cannot Be Deleted Windows 10/11 - MiniToolApr 29, 2025 am 12:48 AM

    What should do when you want to delete a file or folder in OneDrive, but find that OneDrive files or folders cannot be deleted? Now you can read this post from php.cn to get the best solutions to fix the “OneDrive files cannot be deleted in Windows 1

    Display Connection Might Be Limited: Key Factors & SolutionsDisplay Connection Might Be Limited: Key Factors & SolutionsApr 29, 2025 am 12:47 AM

    The error message “display connection might be limited” is an annoying issue when you start the device. In this post from php.cn, you can get detailed information about what causes this problem and how to resolve it quickly.

    Windows 11 Build 25115 Is Released to Insiders in the Dev Channel - MiniToolWindows 11 Build 25115 Is Released to Insiders in the Dev Channel - MiniToolApr 29, 2025 am 12:46 AM

    Microsoft releases a new build to Insiders in the Dev Channel and it is Windows 11 build 25115. This is a higher build compared to the build released to the Beta Channel. You can follow this php.cn post to learn some related information about it.

    How to Clean C Drive in Windows 11/10 Without Losing Data - MiniToolHow to Clean C Drive in Windows 11/10 Without Losing Data - MiniToolApr 29, 2025 am 12:45 AM

    How do I free up space on my C drive or how do I clear waste on my C drive? This is the topic that php.cn focuses on here. If your C drive is full of old apps and unnecessary programs, you can choose to clean up it. Let’s get started.

    ChatGPT 4 vs. ChatGPT 3: the Difference between Them - MiniToolChatGPT 4 vs. ChatGPT 3: the Difference between Them - MiniToolApr 29, 2025 am 12:44 AM

    ChatGPT has been updated with GPT-4. To help you better understand this update, we will introduce the differences between ChatGPT 4 and ChatGPT 3. In addition, if you want to recover deleted files on Windows, you can try php.cn Power Data Recovery.

    Media Feature Pack Windows 11 Download & Install: Power TacticsMedia Feature Pack Windows 11 Download & Install: Power TacticsApr 29, 2025 am 12:43 AM

    How can you download and install Media Feature Pack if you are using Windows 11 N or KN editions?  In this post, php.cn offers a step-by-step guide on getting Windows 11 Media Feature Pack. Let’s look through some details.

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Tools

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    WebStorm Mac version

    WebStorm Mac version

    Useful JavaScript development tools

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.

    Safe Exam Browser

    Safe Exam Browser

    Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

    mPDF

    mPDF

    mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),