1. 分析请求:

* 角色:专业IT/运维/渠道领域技术作者。

* 当前年份:2026年(严格执行:标题和正文中所有年份必须使用2026,严禁使用2024/2023等旧年份)。

* 标题规则:禁止出现第X期编号(例如,没有“第5期”),必须使用具体日期或描述性标题。

* 字数:800字以上。

* 格式:Markdown格式,从##(二级标题)开始。

* 主题:运维自动化脚本分享。

* 内容:提供实用的Shell/Python脚本。

  1. 构思文章结构:

* 标题:描述性,包含2026年,Markdown ##格式。

* 引言:2026年运维的背景,自动化的重要性,设定基调。

* 脚本1:Shell - 批量服务器健康检查与日志清理。(实用,常见场景)。

* 脚本2:Python - 自动化SSL证书过期监控与告警。(对Web服务至关重要,适合Python的requests/datetime库)。

* 脚本3:Shell - Docker容器自动备份与清理。(与现代云原生运维紧密相关)。

* 最佳实践/结论:关于脚本安全性、可维护性的建议,以及2026年运维的总结性思考。

  1. 逐步起草内容:

标题:## 2026年运维实战:提升效率的自动化脚本分享(2026年运维实战:提升效率的自动化脚本分享) - 符合规则:描述性,包含2026年,无期数编号,以##开头。*

* 引言:提及2026年。IT环境复杂,AIOps正在兴起,但基础脚本依然至关重要。强调手动操作是过去的遗留;自动化是标准。

* 脚本1:Shell(批量服务器健康检查与日志清理)

场景:*磁盘空间不足,CPU负载高,旧日志占用空间。

代码:*编写一个整洁的bash脚本。使用ssh或本地执行,这里我们选择本地执行,但可以轻松修改为循环。实际上,让我们写一个本地健康检查+日志清理脚本,使其可以直接运行且安全。

代码片段:*检查CPU、内存、磁盘。查找超过7天的日志并删除/压缩它们。

解释:*简要说明其工作原理。

* 脚本2:Python(SSL证书过期监控)

场景:*2026年,HTTPS无处不在。证书过期会导致服务中断。

代码:*使用sslsocketdatetime。连接到主机,获取证书,解析过期时间,与当前日期进行比较,如果小于15天则发送告警(模拟邮件/webhook)。

解释:*详细说明ssl模块和日期计算。

* 脚本3:Shell(Docker容器日志与悬空镜像清理)

场景:*Docker环境会堆积日志和未使用的镜像,导致磁盘耗尽。

代码:*截断容器日志,删除悬空镜像。

解释:*对容器化环境至关重要。

* 最佳实践:

* 在生产环境运行前务必进行测试。

* 使用版本控制。

* 添加日志记录。

* 2026年的趋势:与Webhook/IM集成。

  1. 对照约束条件进行审查与完善:

当前年份是2026年?*是的,已检查。

标题/正文中没有2024/2023年?*已检查。确保没有意外出现。

没有“第X期”编号?*已检查。

描述性标题?*已检查。

800字以上?*确保解释和代码足够充实。

Markdown格式?*是的。

以##开头?*是的。

  1. 撰写草稿(中文):

起草过程中的自我纠正:*确保Python脚本使用标准库,以便开箱即用,无需pip install。对于SSL,sslsocket非常完美。对于Shell,使用标准的POSIX工具,如awkgrepfind

字数检查:*确保解释部分详细说明代码运行机制和原因,以增加价值并达到字数要求。

  1. 最终打磨:(模拟输出生成)

* 检查所有20242023的实例(无)。

* 检查标题格式(## 2026年运维实战:提升效率的自动化脚本分享)。

* 检查代码块语法。

* 确保专业、技术性的语调。

  1. 生成输出。(继续根据这些步骤生成最终回复)。## 2026年运维实战:提升效率的自动化脚本分享

进入2026年,随着企业IT基础设施规模的持续膨胀与云原生架构的深度普及,运维团队面临的挑战已从“如何保证服务可用”升级为“如何在海量节点中实现极速响应与自愈”。尽管AIOps和各类编排工具已经高度成熟,但在日常的运维战场中,轻量级、针锋相对的Shell与Python脚本依然是解决突发问题、消除重复劳动的“瑞士军刀”。

本文将分享三个在2026年运维工作中极为实用的自动化脚本,涵盖系统健康巡检、证书过期监控以及容器环境清理,帮助大家从繁琐的日常操作中解放出来。

一、 Shell脚本:多维系统健康巡检与日志自动清理

磁盘打满、内存溢出是运维永远的痛。在2026年普遍的混合云环境中,快速定位节点瓶颈并自动清理陈旧日志,是保障业务稳定的第一道防线。


#!/bin/bash
# 2026系统健康巡检与日志清理脚本

# 阈值定义
CPU_THRESHOLD=85
MEM_THRESHOLD=90
DISK_THRESHOLD=90
LOG_DIR="/var/log/app"
LOG_RETAIN_DAYS=15

# 1. CPU负载检查
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d. -f1)
if [ "$cpu_usage" -gt "$CPU_THRESHOLD" ]; then
    echo "[WARN] 2026-$(date +%m-%d) CPU使用率过高: ${cpu_usage}%"
fi

# 2. 内存检查
mem_usage=$(free -m | awk '/Mem/{printf("%.0f"), $3/$2*100}')
if [ "$mem_usage" -gt "$MEM_THRESHOLD" ]; then
    echo "[WARN] 2026-$(date +%m-%d) 内存使用率过高: ${mem_usage}%"
fi

# 3. 磁盘检查与自动化清理
disk_usage=$(df -h / | awk 'NR==2{print $5}' | sed 's/%//g')
if [ "$disk_usage" -gt "$DISK_THRESHOLD" ]; then
    echo "[CRIT] 根分区使用率 ${disk_usage}%,触发自动清理..."
    # 清理15天前的旧日志
    find $LOG_DIR -name "*.log" -type f -mtime +$LOG_RETAIN_DAYS -exec rm -f {} \;
    # 清理Systemd日志(保留最近3天)
    journalctl --vacuum-time=3d
    echo "[INFO] 日志清理完成,当前磁盘使用率: $(df -h / | awk 'NR==2{print $5}')"
fi

实战价值: 该脚本可植入Cron或Systemd Timer中定时执行。它不仅做被动巡检,更在磁盘达到危险红线时,主动触发日志清理与Journal截断,避免因磁盘写满导致的节点NotReady状态。

二、 Python脚本:SSL证书过期监控与飞书/钉钉告警

2026年,HTTPS已是所有对外服务的强制标准。随着微服务数量的激增,证书过期导致的业务中断依然频发。依靠人工记录Excel表格排期早已失效,我们需要自动化的证书生命周期监控。


#!/usr/bin/env python3
# 2026 SSL证书过期监控脚本

import ssl
import socket
from datetime import datetime, timedelta
import requests

# 监控配置
DOMAINS = ["api.company.com", "portal.company.com", "ops.company.com"]
WARN_DAYS = 15  # 提前15天告警
WEBHOOK_URL = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx" # 2026年主流IM Webhook

def check_ssl_expiry(domain, port=443):
    context = ssl.create_default_context()
    conn = context.wrap_socket(socket.socket(), server_hostname=domain)
    conn.settimeout(5.0)
    conn.connect((domain, port))
    cert = conn.getpeercert()
    expire_date = datetime.strptime(cert['notAfter'], '%b %d %H:%M:%S %Y %Z')
    conn.close()
    return expire_date

def send_alert(domain, days_left):
    msg = f"