效率翻倍!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资源较多、运维场景复杂的团队,这也是很多同行提升运维效率的常用方式。

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

相关文章
|
2月前
|
人工智能 自然语言处理 安全
阿里云百炼Token Plan是什么?套餐、API调用、工具配置与优惠活动完整实战手册
阿里云百炼Token Plan以统一Credits计费、多模型自由切换、团队化管理、预算可控、安全隐私为核心优势,为团队与企业提供一站式AI大模型订阅服务。三档套餐覆盖轻度到重度全场景需求,兼容主流编程与智能体工具,开通简单、接入方便、成本透明,配合丰富的新用户优惠、批量折扣、长期订阅福利,是当前团队规模化使用AI服务的高性价比方案。
824 5
|
1月前
|
人工智能 IDE API
阿里云百炼Coding Plan产品简介:支持模型、收费标准及购买和使用常见问题解答
阿里云百炼Coding Plan是面向开发者和团队的AI编程订阅服务,采用固定月费模式,Pro套餐200元/月提供9万次调用额度,整合千问、Kimi、GLM、MiniMax等顶级模型,全面兼容Claude Code、OpenClaw、Cursor等主流编程工具。额度采用5小时滚动恢复、每周及每月定期重置机制,兼顾开发连续性与成本可控性。其折算成本远低于按量计费,并通过多层级额度设计和华北2地域绑定有效防范欠费风险。适合日常代码生成、智能体开发及IDE插件集成等场景,是开发者以可预期预算拥抱AI编程的高性价比选择。
阿里云百炼Coding Plan产品简介:支持模型、收费标准及购买和使用常见问题解答
|
4月前
|
自然语言处理 运维 安全
2026年OpenClaw(Clawdbot)一键部署教程+WhatsApp快速接入指南
OpenClaw(原Clawdbot/Moltbot)作为阿里云生态下的开源AI自动化代理工具,凭借跨地域交互、多语言支持、轻量化部署的核心优势,成为跨境企业、出海团队实现WhatsApp办公自动化的核心工具。2026年阿里云推出OpenClaw专属一键部署方案,结合WhatsApp在全球200+国家和地区的覆盖能力,实现“WhatsApp聊天窗口下达指令,OpenClaw自动执行跨境客户管理、多语言消息推送、海外业务自动化”的高效模式。本文将完整拆解阿里云环境下OpenClaw的一键部署流程,重点详解WhatsApp Business API申请、跨境网络适配、机器人对接调试的全步骤,包含实
2410 2
|
29天前
|
测试技术 UED
网站加载慢?用KKCE解决测速问题指南
本文面向零基础用户,详解网站测速的准备工作(优化网络、选定核心页面、多次取均值)、标准操作步骤及结果解读,无需专业技术即可快速掌握测速方法,精准定位加载慢问题,有效提升用户体验与转化效果。(239字)
139 8
|
30天前
|
弹性计算 Kubernetes 测试技术
我把服务器密码给了 OpenClaw,10 分钟后一个 K8s 集群跑起来了
我把两台临时ECS交给OpenClaw,让它从零搭建K8s集群、排查公网访问问题并完成验收。10 分钟后,我真切感到AI Agent正在从回答问题走向完成任务。
117 4
|
28天前
|
开发框架 安全 Java
Java 长期支持版 JDK17 下载安装+详细配置步骤
JDK 17 是 Oracle 官方推出的长期支持(LTS)版本,具备高性能、高安全性、强兼容性与丰富新特性(如密封类、模式匹配等),广泛用于后端开发、微服务、大数据及教学实训,是企业级 Java 开发的主流稳定选择。(239字)
1260 0
|
4月前
|
应用服务中间件 Shell nginx
最全的docker命令参数解释及命令用法
本文系统详解Docker核心命令,涵盖容器(run/exec/ps/start/stop等)、镜像(pull/build/push/rmi等)、网络、数据卷及全局参数,并配实操示例与可直接执行的命令,助初学者快速掌握Docker日常运维与开发应用。
1805 129
|
1月前
|
人工智能 安全 API
Claude和GPT全买了,AI用起来为啥还是不好用?老金来告你!
先说一个可能不太舒服的结论。 AI用得好不好,跟工具几乎没关系。 老金我在一开始认为模型越好就行了。 换了Claude、GPT、Gemini轮着试。 结果发现不对——同样的工具,不同人用出来的效果完全不同。 你可以做一个实验。 找两个同事,一个干过三年产品,一个刚入行。 让他们用同一个AI,写一份竞品分析报告。 资深的人出来的东西,方向对,框架稳。 该查哪些数据口径心
|
分布式计算 资源调度 Hadoop
Hadoop运行模式(五)、编写Hadoop集群常用脚本、Hadoop集群启停脚本、常用端口号说明、集群时间同步、时间服务器配置、其他机器配置
Hadoop集群启停脚本(包含HDFS,Yarn,Historyserver):myhadoop.sh、查看三台服务器Java进程脚本:jpsall、分发/home/atguigu/bin目录,保证自定义脚本在三台机器上都可以使用、如果服务器在公网环境(能连接外网),可以不采用集群时间同步,因为服务器会定期和公网时间进行校准;如果服务器在内网环境,必须要配置集群时间同步,否则时间久了,会产生时间偏差,导致集群执行任务时间不同步。...
755 1
Hadoop运行模式(五)、编写Hadoop集群常用脚本、Hadoop集群启停脚本、常用端口号说明、集群时间同步、时间服务器配置、其他机器配置
|
运维 Linux 测试技术
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第34天】在快节奏的IT环境中,自动化运维成为提升效率、降低错误率的关键。本文以Python脚本为例,展示如何通过编写简单的脚本来自动化日常运维任务,如批量更改文件权限、自动备份数据等。文章不仅提供代码示例,还探讨了自动化运维带来的益处和实施时应注意的问题。