搜索
首页电脑教程电脑知识实战:运维必备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

    使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

    热工具

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    螳螂BT

    螳螂BT

    Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

    mPDF

    mPDF

    mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript开发工具

    VSCode Windows 64位 下载

    VSCode Windows 64位 下载

    微软推出的免费、功能强大的一款IDE编辑器