欢迎光临
我们一直在努力

6个高频实用技术脚本案例,覆盖运维与办公自动化(可直接复用)

在日常开发、运维、办公工作中,大量重复操作会耗费超多时间,手动操作不仅效率低,还容易出现人为失误。脚本作为轻量化自动化工具,无需复杂工程部署,几行代码就能实现批量处理、自动巡检、数据统计等功能,是技术人提效的核心利器。

本文精选Python、Shell两大主流脚本语言的6个高频实战案例,覆盖服务器运维、日志分析、文件批量处理、办公自动化等核心场景,所有代码完整可运行、适配新手,开箱即用,帮助大家用脚本替代90%重复工作。

一、Shell 脚本运维实战案例(Linux 必备)

Shell 脚本是 Linux 运维的基础工具,适配服务器日常巡检、文件批量操作、服务监控等场景,轻量化、无依赖、运行高效,是后端、运维工程师的必备技能。

案例1:服务器一键资源巡检脚本

适用场景:日常服务器健康巡检、卡顿排查、定时监控,一键查看CPU、内存、磁盘、负载核心指标,替代多条手动命令查询。 脚本功能:自动获取服务器主机信息、系统版本、CPU使用率、内存占用、磁盘空间、系统负载,生成标准化巡检报告。

#!/bin/bash
# server_check.sh 服务器资源巡检脚本
echo "==================== 服务器巡检报告 ===================="
echo "检查时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "主机名: $(hostname)"
echo "系统版本: $(cat /etc/redhat-release 2>/dev/null || lsb_release -a 2>/dev/null | grep Description | cut -d: -f2 | sed 's/^ //')"
echo ""

# CPU使用率查询
echo "【CPU状态】"
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print 100-$8}')
echo "CPU当前使用率: ${CPU_USAGE}%"
echo "系统负载: $(uptime | awk -F'load average:' '{print $2}')"
echo ""

# 内存使用率查询
echo "【内存状态】"
free -h | awk '/Mem/{printf "总内存: %s 已用: %s 剩余: %s 使用率: %.2f%%\\n",$2,$3,$4,$3/$2*100}'
echo ""

# 磁盘使用率查询
echo "【磁盘状态】"
df -h | grep -v tmpfs | awk '{print $1,"总容量:"$2,"已用:"$3,"剩余:"$4,"使用率:"$5}'
echo "========================================================"

使用方法:

  • 保存为 server_check.sh
  • 授权:chmod +x server_check.sh
  • 运行:./server_check.sh
  • 可配置 crontab 定时每日自动巡检。
  • 案例2:批量创建/重命名文件脚本

    适用场景:项目初始化批量建目录、批量修改文件后缀、统一规范文件命名,告别手动逐个操作。 脚本功能:批量生成有序文件夹、批量修改当前目录下所有文件后缀(如.txt改.log)。

    #!/bin/bash
    # file_batch.sh 文件批量处理脚本

    # 1. 批量创建10个有序目录 dir1-dir10
    echo "开始批量创建目录…"
    for i in {1..10}
    do
    mkdir -p dir$i
    echo "创建成功:dir$i"
    done

    # 2. 批量将所有txt文件改为log文件
    echo "开始批量修改文件后缀…"
    rename 's/\\.txt/\\.log/' *.txt 2>/dev/null
    echo "文件后缀批量修改完成"

    使用方法:授权运行即可,可根据需求修改循环数量、文件后缀规则。

    案例3:Nginx 异常IP自动屏蔽脚本

    适用场景:防护服务器CC、DOS攻击,自动监控Nginx日志,拦截高频异常访问IP,保障服务稳定。 脚本功能:统计短时间内高频访问IP,自动通过防火墙屏蔽恶意IP,避免恶意请求占用服务器资源。

    #!/bin/bash
    # ban_ip.sh 异常IP自动屏蔽脚本
    LOG_FILE="/var/log/nginx/access.log"
    # 设定访问阈值,1分钟超过100次判定为异常
    LIMIT=100
    TIME=$(date -d '1 minute ago' +'%d/%b/%Y:%H:%M')

    # 筛选1分钟内高频访问IP
    awk -v time="$TIME" '$4>time {print $1}' $LOG_FILE | sort | uniq -c | awk -v limit="$LIMIT" '$1>limit {print $2}' > /tmp/ban_ip.txt

    # 屏蔽异常IP
    for ip in $(cat /tmp/ban_ip.txt)
    do
    # 避免重复屏蔽
    iptables -L | grep $ip || iptables -A INPUT -s $ip -j DROP
    echo "已屏蔽恶意攻击IP:$ip"
    done

    使用方法:适配CentOS系统,配置定时任务每分钟执行一次,实现实时防护。

    二、Python 脚本自动化实战案例(通用全能)

    Python 脚本语法简洁、库生态丰富,不仅适配服务器运维,还能实现办公自动化、数据处理、本地工具开发,是全场景提效神器,新手上手门槛极低。

    案例4:Python 服务器资源监控脚本

    适用场景:跨平台服务器监控、本地电脑资源查看,支持Windows/Linux,可拓展邮件、企业微信告警。 依赖安装:pip install psutil

    import psutil
    import time

    def get_server_status():
    print("==================== Python服务器监控 ====================")
    print(f"采集时间: {time.strftime('%Y-%m-%d %H:%M:%S')}")
    # CPU
    cpu_percent = psutil.cpu_percent(interval=1)
    print(f"CPU使用率:{cpu_percent}%")
    # 内存
    mem = psutil.virtual_memory()
    print(f"内存总容量:{mem.total/1024/1024/1024:.2f}G,已用:{mem.used/1024/1024/1024:.2f}G,使用率:{mem.percent}%")
    # 磁盘
    disk = psutil.disk_usage('/')
    print(f"磁盘总容量:{disk.total/1024/1024/1024:.2f}G,已用:{disk.used/1024/1024/1024:.2f}G,使用率:{disk.percent}%")
    print("==========================================================")
    # 告警判断
    if cpu_percent > 80 or mem.percent > 85 or disk.percent > 90:
    print("⚠️ 资源告警:服务器资源占用过高!")

    if __name__ == "__main__":
    get_server_status()

    使用方法:直接运行脚本;可增加循环定时采集,对接Webhook推送告警消息。

    案例5:批量读取Excel并汇总数据脚本

    适用场景:多Excel报表合并、数据汇总统计,财务、运营、测试常用,不用手动复制粘贴。 依赖安装:pip install pandas openpyxl

    import pandas as pd
    import os

    def merge_excel(folder_path):
    all_data = []
    # 遍历文件夹下所有xlsx文件
    for file in os.listdir(folder_path):
    if file.endswith(".xlsx") and not file.startswith("~"):
    file_full = os.path.join(folder_path, file)
    df = pd.read_excel(file_full)
    all_data.append(df)
    # 合并全部表格
    result = pd.concat(all_data, ignore_index=True)
    result.to_excel("汇总结果.xlsx", index=False)
    print(f"合并完成!一共合并 {len(all_data)} 个文件,输出:汇总结果.xlsx")

    if __name__ == "__main__":
    # 修改为你的Excel文件夹路径
    merge_excel("./excel_data")

    使用方法:将所有待合并Excel放入excel_data文件夹,运行脚本自动生成汇总表。

    案例6:日志关键词检索脚本

    适用场景:排查线上故障,批量扫描日志文件,快速筛选报错关键词,提取异常行并保存结果。

    def search_log(log_path, keyword):
    result_lines = []
    with open(log_path, "r", encoding="utf-8", errors="ignore") as f:
    for line_num, line in enumerate(f, start=1):
    if keyword in line:
    result_lines.append(f"行号{line_num}: {line.strip()}")
    # 写入结果文件
    with open("log_search_result.txt", "w", encoding="utf-8") as out:
    out.write("\\n".join(result_lines))
    print(f"检索完成,找到 {len(result_lines)} 条匹配记录,已保存至 log_search_result.txt")

    if __name__ == "__main__":
    # 修改日志文件路径和要搜索的关键词
    search_log("./app.log", "ERROR")

    使用方法:修改日志路径与检索关键词,常用于快速定位程序报错。

    三、脚本使用注意事项

  • 权限管控:服务器脚本尽量最小权限运行,屏蔽IP、修改系统配置类脚本务必做好测试,避免误操作。
  • 定时任务:Shell crontab、Python定时脚本,做好日志输出,方便排查脚本执行异常。
  • 兼容性:Shell脚本在CentOS、Ubuntu之间存在少量命令差异,上线前先在测试环境验证;Python注意版本和第三方库依赖。
  • 备份优先:涉及批量修改文件的脚本,执行前先备份原始数据,防止数据丢失。
  • 四、总结

    脚本自动化是技术人员的核心提效手段,Shell擅长Linux服务器运维场景,Python优势在于跨平台、数据处理与办公自动化。上面这些脚本覆盖了绝大多数日常工作场景,大家可以基于基础代码按需修改逻辑,扩展告警、邮件推送、数据持久化等能力,把重复的人工工作交给程序自动完成。

    赞(0)
    未经允许不得转载:171主机测评 » 6个高频实用技术脚本案例,覆盖运维与办公自动化(可直接复用)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址