当前位置:首页>Linux>运维别再熬夜了!一键完成 Linux 服务器巡检,部署 10 秒,巡检 30 秒

运维别再熬夜了!一键完成 Linux 服务器巡检,部署 10 秒,巡检 30 秒

  • 2026-08-23 17:32:52
运维别再熬夜了!一键完成 Linux 服务器巡检,部署 10 秒,巡检 30 秒

哈喽各位技术同好,欢迎来到虚拟化时代君(XNHCYL) 

收不到推送?别急,先点个⭐星标,系统才知道你是真爱。

我是虚拟化时代君,一个把服务器当朋友的技术宅。这里专注分享 虚拟化 / 云计算 / 运维实战 / 脚本技巧 / 软件工具 / 白嫖资源能少踩坑的,绝不让你多走一步弯路。

每天更新,不定时掉福利,技术路上我们一起卷。


引言

   这是一款专为日常运维设计的轻量级巡检工具,一键运行即可快速检查服务器健康状态,包括:

   • 系统基本信息(CPU、内存、磁盘、负载、重启记录)

   • 常用运维工具自动补齐(htop、ncdu、iotop 等)

   • 磁盘空间分析与清理建议

   • 安全补丁检查

   • 已知CVE漏洞检测(支持Debian/Ubuntu及RHEL系)

   • 网络端口、进程、僵尸进程、登录记录等

   • 支持彩色输出,终端友好,无颜色环境自动适配纯文本

 使用方式:

   1. 保存为 syscheck.sh

   2. chmod +x syscheck.sh

   3. sudo ./syscheck.sh

   (推荐移动到 /usr/local/bin/syscheck 后全局使用:sudo syscheck)

 第二章、实现效果图

下面我在的rocky运行的结果,如图所示

第三章、脚本分享

在服务器终端直接复制并执行以下命令(会自动创建/覆盖 syscheck.sh 文件,并写入完整脚本内容):

cat > syscheck.sh << 'EOF'#!/bin/bash# ================ 一键 Linux 服务器运维巡检脚本(终极完整版)================# 使用方式:chmod +x syscheck.sh && sudo ./syscheck.sh# 支持:Ubuntu/Debian/CentOS/RHEL/Rocky/AlmaLinux 等# 作者:虚拟化时代君   日期:2026-01-01# ===========================================================================# 自动检测终端是否支持颜色(避免乱码)if [ -t 1 ] && [ "$(tput colors 2>/dev/null || echo 0)" -ge 8 ]; then    RED="\033[91m"    GREEN="\033[92m"    YELLOW="\033[93m"    BLUE="\033[94m"    PURPLE="\033[95m"    CYAN="\033[96m"    BOLD="\033[1m"    NC="\033[0m"else    RED=""; GREEN=""; YELLOW=""; BLUE=""; PURPLE=""; CYAN=""; BOLD=""; NC=""fiprint_title() {    echo -e "${BLUE}${BOLD}════════════════════════════════════════════════════════════${NC}"    echo -e "${PURPLE}${BOLD}                  $1${NC}"    echo -e "${BLUE}${BOLD}════════════════════════════════════════════════════════════${NC}"    echo}print_section() {    echo -e "${CYAN}${BOLD}▶ $1${NC}"    echo}print_status() {    case "$1" in        ok) echo -e "${GREEN}✓ $2${NC}" ;;        warn) echo -e "${YELLOW}⚠ $2${NC}" ;;        error) echo -e "${RED}✗ $2${NC}" ;;        info) echo -e "${CYAN}ℹ $2${NC}" ;;        *) echo "  $2" ;;    esac}print_success() {    echo -e "${GREEN}${BOLD}✓ $1${NC}"}clearprint_title "一键 Linux 服务器运维巡检脚本"echo -e "${GREEN}开始时间:$(date '+%Y-%m-%d %H:%M:%S')${NC}\n"# 系统基本信息print_title "系统基本信息"[ -f /etc/os-release ] && . /etc/os-releaseprint_status info "系统版本   : ${PRETTY_NAME:-未知}"print_status info "主机名     : $(hostname)"print_status info "内核版本   : $(uname -r)"print_status info "运行时间   : $(uptime -p)"print_status info "平均负载   : $(uptime | awk -F'load average:' '{print $2}')"print_status info "CPU 型号   : $(grep 'model name' /proc/cpuinfo | head -1 | cut -d: -f2 | xargs)"print_status info "内存信息   : $(free -h | awk '/Mem/{print "总 "$2" | 已用 "$3" | 可用 "$4}')"print_section "Swap 使用情况"free -h | awk '/Swap/{print "   总: "$2"  已用: "$3"  可用: "$4}'swap_used=$(free -m | awk '/Swap/{print $3}' 2>/dev/null || echo 0)"$swap_used" -gt 500 ] && print_status warn "Swap 使用较多(${swap_used}MB),建议优化内存"print_section "磁盘分区使用情况"df -hT | grep -vE 'tmpfs|cdrom|loop' | while read fs type size used avail use mount; do    usage=$(echo "$use" | tr -d '%')    if (( usage > 90 )); then        print_status error "$mount 分区严重告急:${usage}%"    elif (( usage > 80 )); then        print_status warn "$mount 分区使用率高:${usage}%"    else        print_status ok "$mount ($type) : ${usage}% 已用"    fidoneprint_section "最近重启记录"last -x -n 3 reboot shutdown 2>/dev/null | head -n 3 || print_status info "无重启记录"echo# 常用工具补齐print_title "常用运维工具补齐"TOOLS=(htop iotop ncdu lsof tree vim curl wget net-tools psmisc iftop strace)if command -v apt >/dev/null 2>&1; then    PKG_MANAGER="apt"    sudo apt update -qq >/dev/null 2>&1    sudo apt install -y debsecan "${TOOLS[@]}" >/dev/null 2>&1elif command -v dnf >/dev/null 2>&1; then    PKG_MANAGER="dnf"    sudo dnf makecache >/dev/null 2>&1    sudo dnf install -y "${TOOLS[@]}" >/dev/null 2>&1elif command -v yum >/dev/null 2>&1; then    PKG_MANAGER="yum"    sudo yum makecache >/dev/null 2>&1    sudo yum install -y "${TOOLS[@]}" >/dev/null 2>&1else    print_status warn "不支持的包管理器,跳过工具安装"    PKG_MANAGER=""fiprint_section "已补齐的常用工具"cat << 'TOOLS_LIST'htop        - 交互式进程查看器iotop       - 磁盘 I/O 监控ncdu        - 磁盘占用分析神器lsof        - 查看打开文件tree        - 目录树查看vim         - 强大编辑器curl/wget   - 网络下载工具net-tools   - ifconfig/netstat 等psmisc      - killall/pstree 等iftop       - 带宽实时监控strace      - 系统调用追踪TOOLS_LISTprint_success "所有工具已检查并自动补齐"echo# 磁盘空间分析print_title "磁盘空间分析与清理建议"print_section "查找 /var 下大于 500MB 的大文件"if sudo find /var -type f -size +500M 2>/dev/null | grep -q .; then    sudo find /var -type f -size +500M -exec du -h {} \; 2>/dev/null | sort -hr | head -10 | while read size file; do        echo -e "   ${YELLOW}$size${NC} → $file"    doneelse    print_status ok "未发现大于 500MB 的大文件"fiprint_section "推荐清理命令"cat << 'CMD_LIST'sudo journalctl --vacuum-time=30dsudo find /tmp -type f -atime +7 -deleteCMD_LIST"$PKG_MANAGER" = "apt" ] && echo "sudo apt autoremove -y && sudo apt autoclean -y"[ -n "$PKG_MANAGER" ] && echo "sudo $PKG_MANAGER autoremove -y && sudo $PKG_MANAGER clean all"echo# 安全补丁检查print_title "安全补丁检查"if [ "$PKG_MANAGER" = "apt" ]; then    count=$(apt list --upgradable 2>/dev/null | grep -c "/" || echo 0)    [ "$count" -gt 0 ] && print_status warn "发现 $count 个可升级包" && apt list --upgradable 2>/dev/null | head -10 || print_status ok "系统已是最新"else    count=$(sudo $PKG_MANAGER updateinfo list security 2>/dev/null | grep -c "security" || echo 0)    [ "$count" -gt 0 ] && print_status warn "发现 $count 个安全补丁" && sudo $PKG_MANAGER updateinfo list security | head -10 || print_status ok "无安全补丁"fiecho# CVE漏洞检测print_title "系统已知CVE漏洞检测"print_section "正在扫描所有软件包..."VULN_FOUND=falseif [ "$PKG_MANAGER" = "apt" ] && command -v debsecan >/dev/null 2>&1; then    if sudo debsecan --format detail 2>/dev/null | grep -q "CVE"then        VULN_FOUND=true        echo -e "${RED}${BOLD}发现CVE漏洞:${NC}"        sudo debsecan --format packages | while read pkg suite urgency remote cve; do            [[ "$urgency" =~ critical|high ]] && echo -e "${RED}高危 → 包: $pkg | CVE: $cve${NC}" || echo "   包: $pkg | CVE: $cve"        done    else        print_status ok "未发现CVE漏洞"    fielse    if sudo $PKG_MANAGER updateinfo list security all 2>/dev/null | grep -q "security"then        VULN_FOUND=true        echo -e "${RED}${BOLD}发现安全漏洞:${NC}"        sudo $PKG_MANAGER updateinfo list security all | grep "security" | while read line; do            pkg=$(echo "$line" | awk '{print $NF}')            advisory=$(echo "$line" | awk '{print $2}')            severity=$(echo "$line" | awk '{print $3}')            [[ "$severity" =~ Critical|Important ]] && echo -e "${RED}高危 → 包: $pkg | 通告: $advisory${NC}" || echo "   包: $pkg | 通告: $advisory"        done    else        print_status ok "未发现已知漏洞"    fifi"$VULN_FOUND" = false ] && print_success "恭喜!系统无已知CVE漏洞"echo# 网络端口print_title "当前网络监听端口"sudo ss -tulnp | head -20 || print_status info "无法获取端口信息"echo# 高占用进程print_title "高占用进程 Top 10"print_section "CPU 占用最高"ps -eo pid,user,%cpu,cmd --sort=-%cpu | head -10print_section "内存占用最高"ps -eo pid,user,%mem,cmd --sort=-%mem | head -10print_section "Zombie 进程检查"zcount=$(ps axo stat,ppid,pid,cmd | grep -w Z | wc -l)"$zcount" -gt 0 ] && print_status error "发现 $zcount 个僵尸进程" && ps axo stat,ppid,pid,cmd | grep -w Z || print_status ok "无僵尸进程"echo# 登录记录print_title "最近登录记录"last -n 8echo# 结束print_title "运维巡检全部完成!"echo -e "${GREEN}结束时间:$(date '+%Y-%m-%d %H:%M:%S')${NC}\n"echo "运维建议:定期更新系统、关注磁盘和高负载进程、检查异常登录"echo -e "${BLUE}${BOLD}════════════════════════════════════════════════════════════${NC}"EOFchmod +x syscheck.shecho "syscheck.sh 文件已成功创建!"echo "现在运行巡检:sudo ./syscheck.sh"

【以上内容均属虚拟化时代君整理,大家仅供参考!】


🌟这里是一个为你提供实用干货、深度分析和最新趋势的地方!无论你是对职业发展、健康生活、科技创新,还是人文艺术感兴趣,我们都能满足你的需求。
往期回顾
点击下方链接阅读精彩文章
Citrix Netscaler 又更新了、授权模式已完全变化,您的设备还授权正常吗?
Citrix Netscaler又更新了?新版支持Nutanix AHV导入!
漏洞风险再次升级 | Citrix NetScaler(CVE-2025-5349 & 5777)已遭在野利用,紧急排查!
全球再现9.2分高危漏洞,NetScaler ADC / Gateway CVE-2025-6543 已复现可使核心服务瘫痪
席卷全球9.3分Citrix NetScaler 高危漏洞CVE-2025-5349 / 5777 曝光,别等被黑了才升级!
VMware紧急修复!VMSA-2025-0010:又现CVE-2025-41225/41226高危漏洞,你的虚拟化还安全吗?
Citrix云桌面又更新了?CVAD 2503测试版本发布,功能遥遥领先!
技术干货 | VMware vCenter HA高可用配置实战指南(内含完整演示)主备切换只需秒级?
想省钱、想升职、想搞定老板?不想删库跑路那就先折腾运维神器-超聚变模拟器
玩的不是存储,是上百万资产!DELL PowerStore 入门白嫖实操体验
突发!17000个Citrix云桌面某分支无法登录,PVS云桌面启动后的致命错误背后是...?
全网独创VMware Horizon和Citrix云桌面免费对接Radius进行Google二次认证教程
Citrix Virtual Apps and Desktops云桌面内网Storefront登录流程详解
零基础企业级云桌面搭建实战:VMware Horizon与AVI负载均衡详解(上)
ESXi添加利旧硬盘踩雷!无法创建VMFS数据存储?我用一条命令挣了1000块
一条命令获取VMware ESXi硬件全家桶信息,你Get到了吗?
各大云平台KVM、AWS、PVE和VMware虚拟机文件格式互转换技巧
VMware ESXi和Workstation无法导入ovf虚拟机解决宝典|红包到手500
限制特定ip访问 VMware ESXi 和 vCenter主机
多种方法开启VMware ESXi Shell和超时方法,你知道哪些?
VMware vSphere中弃用和停止的CPU有哪些?你真的了解吗?
VMware vCenter(VCSA) 8.0 中的 17 个vmdk有什么用途?给客户介绍用途含泪血赚200!

资源申明:小编更新资源文章只是为了给大家提供一个绿色学习的平台,如果你在本站看到的任何图片文字有涉及到你的利益以及版权都可以联系小编删除。联系微信:XNHSDJ

最新文章

随机文章