Table of Contents
vim /root/dean.sh
我们可以将该脚本转换为全局命令,将文件移动到 sbin 目录,并赋予执行权限。
添加至别名里
生效
现在您可以在 shell 的任何位置调用该脚本。
优势
Home Computer Tutorials Computer Knowledge Practical combat: Essential Linux inspection scripts for operation and maintenance

Practical combat: Essential Linux inspection scripts for operation and maintenance

Feb 19, 2024 pm 12:57 PM
server Script Inspection

巡检意义

  • 及时发现隐患:对服务器进行巡检能够及时发现服务器的隐患,以便于改善和优化服务器的性能。
  • 观察运行状况:观察服务器的运行状况,及时对设备进行调整,保证服务器的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 "----------------------------------------------------------------------------------------------------------------"
    Copy after login

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

    mv /root/dean.sh /usr/sbin
    chmod +x /usr/sbin/dean.sh
    Copy after login

    添加至别名里

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

    生效

    source .bashrc
    Copy after login

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

    dean
    Copy after login

    执行效果

    优势

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

    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 of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    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

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    How to solve the problem that eMule search cannot connect to the server How to solve the problem that eMule search cannot connect to the server Jan 25, 2024 pm 02:45 PM

    Solution: 1. Check the eMule settings to make sure you have entered the correct server address and port number; 2. Check the network connection, make sure the computer is connected to the Internet, and reset the router; 3. Check whether the server is online. If your settings are If there is no problem with the network connection, you need to check whether the server is online; 4. Update the eMule version, visit the eMule official website, and download the latest version of the eMule software; 5. Seek help.

    Solution to the inability to connect to the RPC server and the inability to enter the desktop Solution to the inability to connect to the RPC server and the inability to enter the desktop Feb 18, 2024 am 10:34 AM

    What should I do if the RPC server is unavailable and cannot be accessed on the desktop? In recent years, computers and the Internet have penetrated into every corner of our lives. As a technology for centralized computing and resource sharing, Remote Procedure Call (RPC) plays a vital role in network communication. However, sometimes we may encounter a situation where the RPC server is unavailable, resulting in the inability to enter the desktop. This article will describe some of the possible causes of this problem and provide solutions. First, we need to understand why the RPC server is unavailable. RPC server is a

    How to execute .sh file in Linux system? How to execute .sh file in Linux system? Mar 14, 2024 pm 06:42 PM

    How to execute .sh file in Linux system? In Linux systems, a .sh file is a file called a Shell script, which is used to execute a series of commands. Executing .sh files is a very common operation. This article will introduce how to execute .sh files in Linux systems and provide specific code examples. Method 1: Use an absolute path to execute a .sh file. To execute a .sh file in a Linux system, you can use an absolute path to specify the location of the file. The following are the specific steps: Open the terminal

    How to create a script for editing? Tutorial on how to create a script through editing How to create a script for editing? Tutorial on how to create a script through editing Mar 13, 2024 pm 12:46 PM

    Cutting is a video editing tool with comprehensive editing functions, support for variable speed, various filters and beauty effects, and rich music library resources. In this software, you can edit videos directly or create editing scripts, but how to do it? In this tutorial, the editor will introduce the method of editing and making scripts. Production method: 1. Click to open the editing software on your computer, then find the "Creation Script" option and click to open. 2. In the creation script page, enter the "script title", and then enter a brief introduction to the shooting content in the outline. 3. How can I see the "Storyboard Description" option in the outline?

    Detailed explanation of CentOS installation fuse and CentOS installation server Detailed explanation of CentOS installation fuse and CentOS installation server Feb 13, 2024 pm 08:40 PM

    As a LINUX user, we often need to install various software and servers on CentOS. This article will introduce in detail how to install fuse and set up a server on CentOS to help you complete the related operations smoothly. CentOS installation fuseFuse is a user space file system framework that allows unprivileged users to access and operate the file system through a customized file system. Installing fuse on CentOS is very simple, just follow the following steps: 1. Open the terminal and Log in as root user. 2. Use the following command to install the fuse package: ```yuminstallfuse3. Confirm the prompts during the installation process and enter `y` to continue. 4. Installation completed

    How to configure Dnsmasq as a DHCP relay server How to configure Dnsmasq as a DHCP relay server Mar 21, 2024 am 08:50 AM

    The role of a DHCP relay is to forward received DHCP packets to another DHCP server on the network, even if the two servers are on different subnets. By using a DHCP relay, you can deploy a centralized DHCP server in the network center and use it to dynamically assign IP addresses to all network subnets/VLANs. Dnsmasq is a commonly used DNS and DHCP protocol server that can be configured as a DHCP relay server to help manage dynamic host configurations in the network. In this article, we will show you how to configure dnsmasq as a DHCP relay server. Content Topics: Network Topology Configuring Static IP Addresses on a DHCP Relay D on a Centralized DHCP Server

    Best Practice Guide for Building IP Proxy Servers with PHP Best Practice Guide for Building IP Proxy Servers with PHP Mar 11, 2024 am 08:36 AM

    In network data transmission, IP proxy servers play an important role, helping users hide their real IP addresses, protect privacy, and improve access speeds. In this article, we will introduce the best practice guide on how to build an IP proxy server with PHP and provide specific code examples. What is an IP proxy server? An IP proxy server is an intermediate server located between the user and the target server. It acts as a transfer station between the user and the target server, forwarding the user's requests and responses. By using an IP proxy server

    What should I do if I can't enter the game when the epic server is offline? Solution to why Epic cannot enter the game offline What should I do if I can't enter the game when the epic server is offline? Solution to why Epic cannot enter the game offline Mar 13, 2024 pm 04:40 PM

    What should I do if I can’t enter the game when the epic server is offline? This problem must have been encountered by many friends. When this prompt appears, the genuine game cannot be started. This problem is usually caused by interference from the network and security software. So how should it be solved? The editor of this issue will explain I would like to share the solution with you, I hope today’s software tutorial can help you solve the problem. What to do if the epic server cannot enter the game when it is offline: 1. It may be interfered by security software. Close the game platform and security software and then restart. 2. The second is that the network fluctuates too much. Try restarting the router to see if it works. If the conditions are OK, you can try to use the 5g mobile network to operate. 3. Then there may be more

    See all articles