十大经典Shell脚本运维自动化实战案例
在日常运维工作中,Shell脚本一直是提升效率的核心利器。无论是服务器巡检、日志清理、文件备份,还是进程监控与批量操作,一套完善的Shell脚本即可将重复性人工操作转化为一键自动化执行。本文整理了10个高频运维场景下的Shell脚本案例,全部基于bash实现,兼容CentOS、Ubuntu等主流Linux发行版,无需第三方依赖,即拿即用。

一、概述与适用场景
Shell脚本是Linux运维的核心工具,基于bash可实现服务器资源巡检、日志自动清理、数据备份、进程监控、批量操作等自动化任务。这10个经典案例覆盖了日常运维中最高频的应用场景,代码开箱即用,兼顾可读性与稳定性,适合直接部署。
二、运行环境与前提条件
- 系统Shell:需要bash 4.0及以上版本
- 权限要求:部分脚本执行需root权限
- 基础工具依赖:awk、sed、grep、crontab(主流系统默认已安装)
三、十大经典Shell自动化运维脚本实战演示
案例1:服务器硬件资源一键巡检脚本
#!/bin/bash
echo "====服务器资源巡检报告===="
echo "主机名:$(hostname)"
echo "系统版本:$(cat /etc/redhat-release 2>/dev/null || lsb_release -a)"
echo "CPU负载:$(uptime | awk -F'load a verage:' '{print $2}')"
echo "内存使用:$(free -h)"
echo "磁盘挂载:$(df -h)"
echo "运行时长:$(uptime -p)"
案例2:定时清理过期日志文件脚本
#!/bin/bash
LOG_PATH="/var/log/nginx"
# 删除7天前日志
find $LOG_PATH -name "*.log" -mtime +7 -delete
echo "已清理7天以上日志文件"
案例3:数据库全量备份脚本
#!/bin/bash
BACKUP_DIR="/data/mysql_backup"
DB_NAME="test_db"
TIME=$(date +%Y%m%d)
mysqldump -uroot -p123456 $DB_NAME > $BACKUP_DIR/${DB_NAME}_$TIME.sql
案例4:进程异常自动重启监控脚本
#!/bin/bash
PROCESS="nginx"
if ! pgrep $PROCESS > /dev/null; then
systemctl start $PROCESS
echo "$PROCESS进程已异常重启"
fi
案例5:批量ping检测主机存活脚本
#!/bin/bash
for ip in 192.168.1.{1..20}; do
ping -c1 -W1 $ip > /dev/null
[ $? -eq 0 ] && echo "$ip 在线"
done
案例6:批量修改文件后缀脚本
#!/bin/bash
for file in *.txt; do
mv "$file" "${file%.txt}.md"
done
案例7:日志访问IP次数统计脚本
#!/bin/bash
awk '{print $1}' access.log | sort | uniq -c | sort -nr
案例8:自动压缩打包归档目录脚本
#!/bin/bash
TIME=$(date +%Y%m%d)
tar -zcvf data_$TIME.tar.gz /home/data
案例9:磁盘使用率告警监控脚本
#!/bin/bash
WARN_THRESHOLD=85
df -h | grep -v tmpfs | awk 'NR>1{gsub(/%/,"",$5);if($5>'"$WARN_THRESHOLD"')print $1,$5"%磁盘占用过高"}'
案例10:批量远程执行命令脚本
#!/bin/bash
HOSTS=("192.168.1.10" "192.168.1.11")
for host in ${HOSTS[@]}; do
ssh root@$host "hostname;free -h"
done
四、通用使用规范与最佳实践
- 赋予脚本执行权限:
chmod +x demo.sh - 配置定时任务:
crontab -e添加定时规则 - 生产环境建议添加日志输出与错误捕获:
set -euo pipefail - 敏感信息如密码、数据库账号不要明文写入,推荐使用环境变量传入
五、适用场景与集成建议
- 服务器日常巡检与磁盘空间预警
- 网站日志自动清理与数据定时备份
- 业务进程保活与故障自动恢复
- 内网批量主机运维与日志流量统计分析
所有脚本均轻量化设计,无需额外依赖组件,中小型运维团队可直接部署使用,有效减少重复性人工操作,提升运维效率。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Windows Docker Desktop RabbitMQ生产级部署完整指南
前言 在 Windows 本地开发环境中,直接安装 RabbitMQ 确实颇为周折:需要单独配置 Erlang 运行环境、手动管理环境变量、服务启停全凭手工操作。更令人困扰的是,版本兼容冲突、端口占用、环境不一致等问题层出不穷。笔者见过不少开发者为搭建环境就得耗费整整半天时间。 相比之下,借助 Do
AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践
先分享一个切实感受。过去两年,我们与福建制造企业合作较为频繁,发现一个非常突出的现象:超过80%的企业官网,产品参数仍然存放在PDF或图片中。AI爬虫?根本无法抓取。这些企业技术实力不弱、资质证照齐全、应用案例也丰富,但在AI搜索这一全新战场上,它们几乎处于隐身状态。 一、一个正在发生的行业变化 A
阿里云Token Plan团队版功能价格与省钱购买指南
阿里云百炼近期推出了名为“Token Plan 团队版”的全新服务,这一服务专为企业与开发者量身打造,定位为AI大模型订阅平台。通过引入Credits作为统一计量单位,将文本生成、图像生成等多模态AI能力纳入单一计费体系,同时无缝兼容主流AI编程工具及智能体(Agent)生态系统。其核心亮点包括:全
阿里云物联网.NET Core客户端位置信息上报
阿里云物联网平台的位置服务并非一个完全独立的功能模块。位置信息可包含二维坐标与三维坐标,而位置数据的来源本质上是借助设备属性进行上传。换言之,若要让设备上报位置,您需先将其视为一个普通属性进行处理。 1)添加二维位置数据 操作过程十分简洁。进入数据分析 → 空间数据可视化 → 二维数据,点击添加,将
年阿里云服务器选型配置与网站部署全攻略
2026年,阿里云服务器生态已高度成熟,形成了清晰的轻量应用服务器与ECS云服务器两大产品阵营。无论你是计划搭建个人博客、企业官网,还是运营电商平台、进行应用开发,基本都能找到理想的解决方案。本指南将从服务器选型、配置选择、部署流程到安全运维,系统梳理2026年最实用的操作要点,帮助你少走弯路,让网
- 日榜
- 周榜
- 月榜
相关攻略
2026-06-29 17:42
2026-06-29 17:42
2026-06-29 17:42
2026-06-29 17:42
2026-06-29 17:41
2026-06-29 17:41
2026-06-29 17:41
2026-06-29 17:41
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

