效率翻倍!3个自动化脚本(附源码),解决80%日常重复工作

简介: 运维人常被重复操作拖累?分享3个阿里云ECS高频自动化脚本:①批量巡检(CPU/内存/磁盘告警);②日志自动清理(7天+定时执行);③Python批量重启服务(基于阿里云SDK)。均经生产验证,轻量易用、开箱即用,助你释放80%重复劳力!

做运维这么多年,最深的感受就是:日常工作里80%的时间,都耗在了重复且无技术含量的操作上——每天逐台检查ECS状态、手动清理日志、批量重启服务,忙到没时间做核心优化。分享3个自己日常高频使用的自动化脚本,适配阿里云ECS、云服务器等常用环境,复制就能用,帮大家解放双手,把时间花在更有价值的事情上。

所有脚本均经过实际生产环境验证,轻量化不占资源,新手也能快速上手,无需复杂配置,重点解决巡检、日志清理、批量操作三大核心痛点,话不多说,直接上干货+源码。

一、阿里云ECS批量巡检脚本(Shell):一键排查多台服务器状态

日常运维中,服务器巡检是必修课,逐台登录检查CPU、内存、磁盘太耗时,这个脚本可适配阿里云云助手调用,无需手动登录,一键完成多台ECS巡检,异常状态自动记录日志,方便后续追溯。

#!/bin/bash
# 阿里云ECS批量巡检脚本,适配云助手执行
LOG_FILE="/var/log/ecs_check.log"
THRESHOLD=85  # 告警阈值,可根据自身需求调整
log() { echo "($(date '+%Y-%m-%d %H:%M:%S')) $*" >> "$LOG_FILE"; }
# 检查CPU使用率
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
[ $CPU_USAGE -gt $THRESHOLD ] && log "WARN CPU使用率超标:${CPU_USAGE}%"
# 检查内存使用率
MEM_USAGE=$(free | grep Mem | awk '{print int($3/$2 * 100)}')
[ $MEM_USAGE -gt $THRESHOLD ] && log "WARN 内存使用率超标:${MEM_USAGE}%"
# 检查磁盘使用率(筛选核心分区)
df -h | grep -E '^/dev/' | while read line; do
USAGE=$(echo $line | awk '{print $5}' | tr -d '%')
[ $USAGE -gt $THRESHOLD ] && log "WARN 磁盘使用率超标:$(echo $line | awk '{print $6}') ${USAGE}%"
done
log "INFO 本次巡检完成,详细日志请查看:$LOG_FILE"
echo "巡检完成,日志路径:$LOG_FILE"

使用说明:替换日志路径和告警阈值,在阿里云云助手添加脚本,选择需要巡检的ECS实例,一键执行即可,无需额外安装依赖。


二、日志清理脚本(Shell):自动清理,避免磁盘占满

阿里云服务器长期运行后,日志文件会不断累积,很容易导致磁盘占满,影响服务正常运行。这个脚本可自动清理指定目录7天前的日志,支持自定义清理目录,配合crontab定时执行,一劳永逸。

#!/bin/bash
# 阿里云服务器日志清理脚本,适配主流Linux系统
# 自定义需要清理的日志目录,可根据自身环境添加
LOG_DIRS=("/var/log/nginx" "/data/logs" "/var/lib/docker/containers" "/var/log/mysql")
KEEP_DAYS=7  # 保留最近7天的日志
# 循环清理每个目录下的日志文件
for dir in "${LOG_DIRS[@]}"; do
    if [ -d "$dir" ]; then
        find "$dir" -name "*.log*" -mtime +$KEEP_DAYS -delete
        echo "已清理 $dir 目录下7天前的日志"
    else
        echo "目录 $dir 不存在,跳过清理"
    fi
done
# 清理系统日志
journalctl --vacuum-time=7d
echo "日志清理完成,系统日志已保留最近7天"

使用说明:添加需要清理的日志目录,执行chmod +x 脚本名.sh赋予权限,再通过crontab设置定时(如每天凌晨2点执行:0 2 * * * /root/log_clean.sh)。


三、阿里云ECS批量重启服务脚本(Python):无需逐台操作

遇到服务异常,需要重启多台ECS上的nginx、mysql等服务时,逐台登录操作太繁琐。这个脚本基于阿里云SDK开发,可批量重启指定ECS上的目标服务,高效又便捷。

#!/usr/bin/env python3
# 阿里云ECS批量重启服务脚本,需提前安装aliyun-python-sdk-ecs
# 安装命令:pip3 install aliyun-python-sdk-ecs
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkecs.request.v20140526 import RunCommandRequest
# 替换为自己的阿里云AccessKey和地域ID
client = AcsClient("你的AccessKeyId", "你的AccessKeySecret", "cn-hangzhou")
def restart_service(instance_ids, service_name):
    request = RunCommandRequest()
    request.set_accept_format('json')
    request.set_RegionId("cn-hangzhou")  # 替换为你的ECS地域ID
    request.set_InstanceIdss(json.dumps(instance_ids))  # 替换为需要操作的ECS实例ID列表
    request.set_CommandContent(f"systemctl restart {service_name}")  # 替换为需要重启的服务名
    request.set_CommandType("RunShellScript")
    
    try:
        response = client.do_action_with_exception(request)
        return json.loads(response)
    except Exception as e:
        return f"执行失败:{str(e)}"
# 示例:重启2台ECS上的nginx服务
if __name__ == "__main__":
    instance_list = ["i-xxxxxx", "i-xxxxxx"]  # 替换为你的ECS实例ID
    service = "nginx"  # 替换为需要重启的服务(如mysql、redis)
    result = restart_service(instance_list, service)
    print("执行结果:", result)

使用说明:提前安装阿里云Python SDK,替换AccessKey、地域ID、ECS实例ID和服务名,直接运行即可批量重启服务。


以上3个脚本,覆盖了运维日常80%的重复工作,适配阿里云各类服务器环境,亲测稳定好用,新手也能快速上手落地,帮大家节省大量重复劳作的时间。

其实在实际运维工作中,除了手动部署这类轻量化脚本,很多企业也会通过专业运维平台实现更高效的自动化管理,比如我了解到的江苏立维,其自研的OpsEye平台就有成熟的AutoOps自动化能力,内置丰富的运维脚本库,能实现Runbook自动执行,相当于把我们手动编写、部署脚本的流程简化,进一步解放运维人力,尤其适合IT资源较多、运维场景复杂的团队,这也是很多同行提升运维效率的常用方式。

最后提醒一句:脚本使用前,建议先在测试环境验证,避免影响生产服务;根据自身业务需求,调整脚本中的阈值和参数,适配自己的运维场景。

相关文章
|
6月前
|
测试技术 UED
网站加载慢?用KKCE解决测速问题指南
本文面向零基础用户,详解网站测速的准备工作(优化网络、选定核心页面、多次取均值)、标准操作步骤及结果解读,无需专业技术即可快速掌握测速方法,精准定位加载慢问题,有效提升用户体验与转化效果。(239字)
287 8
|
7月前
|
人工智能 自然语言处理 安全
阿里云百炼Token Plan是什么?套餐、API调用、工具配置与优惠活动完整实战手册
阿里云百炼Token Plan以统一Credits计费、多模型自由切换、团队化管理、预算可控、安全隐私为核心优势,为团队与企业提供一站式AI大模型订阅服务。三档套餐覆盖轻度到重度全场景需求,兼容主流编程与智能体工具,开通简单、接入方便、成本透明,配合丰富的新用户优惠、批量折扣、长期订阅福利,是当前团队规模化使用AI服务的高性价比方案。
1253 5
|
6月前
|
人工智能 IDE API
阿里云百炼Coding Plan产品简介:支持模型、收费标准及购买和使用常见问题解答
阿里云百炼Coding Plan是面向开发者和团队的AI编程订阅服务,采用固定月费模式,Pro套餐200元/月提供9万次调用额度,整合千问、Kimi、GLM、MiniMax等顶级模型,全面兼容Claude Code、OpenClaw、Cursor等主流编程工具。额度采用5小时滚动恢复、每周及每月定期重置机制,兼顾开发连续性与成本可控性。其折算成本远低于按量计费,并通过多层级额度设计和华北2地域绑定有效防范欠费风险。适合日常代码生成、智能体开发及IDE插件集成等场景,是开发者以可预期预算拥抱AI编程的高性价比选择。
阿里云百炼Coding Plan产品简介:支持模型、收费标准及购买和使用常见问题解答
|
4月前
|
人工智能 运维 文字识别
阿里云百炼CLI最新版全功能详解与实操命令指南
在AI开发与自动化运维快速普及的当下,传统可视化控制台操作存在操作繁琐、无法批量调度、难以嵌入自动化脚本等痛点,严重制约开发者的工作效率。为解决多模态AI任务运维碎片化、工具切换频繁、Agent接入难度高的行业问题,阿里云百炼平台推出专属命令行工具百炼CLI,简称bl工具。作为面向AI Agent调度、多模态任务处理、自动化编排的轻量化命令行工具,2026最新版百炼CLI完成功能全面升级,整合文本、图像、视频、语音、视觉理解、知识库检索、联网搜索、记忆管理等十余类AI核心能力,支持一键接入主流AI Agent框架,凭借轻量化部署、全模态覆盖、高兼容适配、可脚本化运维的优势,成为开发者、运维人员
590 0
|
5月前
|
运维 Prometheus 监控
【洛神公开课】第4期:云网络智能运维方案
云网络运维告别“盯屏救火”!本文详解阿里云推荐的智能运维四件套:大盘(全局监控)、告警(主动感知)、巡检(隐患前置排查)、工具(NIS深度诊断),助你从被动响应升级为可视、可管、可控的主动运营中心。(239字)
376 0
|
6月前
|
弹性计算 Kubernetes 测试技术
我把服务器密码给了 OpenClaw,10 分钟后一个 K8s 集群跑起来了
我把两台临时ECS交给OpenClaw,让它从零搭建K8s集群、排查公网访问问题并完成验收。10 分钟后,我真切感到AI Agent正在从回答问题走向完成任务。
285 4
|
5月前
|
人工智能 数据可视化 Linux
Markdown 转 Word 工程化实践:从 AI 内容到可交付 DOCX 的 几种方案
Markdown转Word仍高频,主因AI生成内容含公式、表格、代码等,直接粘贴易错乱。本文详解DS随心转(零配置/多端支持)、Pandoc(工程化/批量)、Typora(可视化/单篇)等5种方案,并附实操步骤与安全建议。
1405 0
|
8月前
|
传感器 运维 监控
运维那些事儿(1):做好数据中心资产管理,筑牢运维工作基础
数据中心资产管理常陷台账混乱、手工录入易错、变动难追踪三大痛点。本文聚焦高效解法:一是自定义属性资产台账,支持按设备类型灵活配置关键字段,实现统一管理与精准检索;二是设备自动发现功能,可自动扫描、录入、同步资产信息,大幅提升准确性与效率。二者结合,让资产管理省心又高效。(239字)
运维那些事儿(1):做好数据中心资产管理,筑牢运维工作基础
|
12月前
|
人工智能 监控 安全
LLM提示注入攻击深度解析:从原理到防御的完整应对方案
本文深入解析提示注入——OWASP LLM Top 10头号风险,揭示其与传统注入的本质区别及为何无法靠过滤器根治。涵盖直接与间接攻击手法、真实案例,并提出五层纵深防御策略,助你构建弹性AI系统,有效管控风险。
1692 6
LLM提示注入攻击深度解析:从原理到防御的完整应对方案
|
SQL Cloud Native 关系型数据库
【工具】竟比Navicat还好用,我咋这么不信呢
文章详细阐述了SQLynx的四大重点:1. 什么是SQLynx;2. 如何下载;3. 与Navicat相比的优势;4. 使用方法。SQLynx支持多种数据库和操作系统,具备云原生架构、自动化与智能化功能、团队协作支持等优点。通过实例演示了如何创建MySQL连接并导出表数据,展示了其高效、灵活的特点。希望读者能支持国产软件的发展。
2819 2
【工具】竟比Navicat还好用,我咋这么不信呢