优秀Linux运维脚本案例推荐

一口Linux 2025-06-16 10:05

击左上方蓝色“一口Linux”,选择“设为星标

第一时间看干货文章

【干货】嵌入式驱动工程师学习路线
【干货】Linux嵌入式知识点-思维导图-免费获取
【就业】一个可以写到简历的基于Linux物联网综合项目
【就业】简历模版


图片


优秀Linux运维脚本案例推荐

实用且高质量的运维脚本案例,涵盖系统监控、自动化维护、日志处理等多个方面。

这些脚本根据实际需求进行调整和组合,建议从简单功能开始,逐步构建自己的运维脚本库。


一、系统监控类脚本

1. 综合系统监控脚本 (Python/Shell混合)

功能:监控CPU、内存、磁盘、网络和关键进程

bash
#!/bin/bash
# 获取系统关键指标并报警

# 配置阈值
CPU_WARN=90
MEM_WARN=90
DISK_WARN=90

# 获取数据
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
mem_usage=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
disk_usage=$(df -h / | awk 'NR==2 {print $5}' | tr -d '%')

# 报警逻辑
[ $(echo"$cpu_usage > $CPU_WARN" | bc) -eq 1 ] && echo"CPU使用率过高: ${cpu_usage}%" | mail -s "CPU警报" admin@example.com
[ $(echo"$mem_usage > $MEM_WARN" | bc) -eq 1 ] && echo"内存使用率过高: ${mem_usage}%" | mail -s "内存警报" admin@example.com
$disk_usage -gt $DISK_WARN ] && echo"磁盘使用率过高: ${disk_usage}%" | mail -s "磁盘警报" admin@example.com

2. 进程监控与自动重启 (Shell)

来源:GitHub经典项目monit

bash
#!/bin/bash
# 监控指定进程并在崩溃时自动重启

SERVICE="nginx"
LOG_FILE="/var/log/process_monitor.log"

if (( $(ps -ef | grep -v grep | grep $SERVICE | wc -l) == 0 )); then
echo"$(date)$SERVICE 未运行,尝试重启..." >> $LOG_FILE
    systemctl start $SERVICE
fi

二、自动化维护类脚本

3. 自动化日志切割与清理 (Shell)

参考:Linux系统自带的logrotate优化版

bash
#!/bin/bash
# 智能日志切割与清理

LOG_DIR="/var/log/app"
MAX_SIZE="100M"# 单个日志最大大小
KEEP_DAYS=30       # 保留天数

find $LOG_DIR -name "*.log" -size +$MAX_SIZE -exec bash -c '
    file="{}"
    mv "$file" "$file.$(date +%Y%m%d%H%M%S)"
    gzip "$file.$(date +%Y%m%d%H%M%S)"
'
 \;

find $LOG_DIR -name "*.gz" -mtime +$KEEP_DAYS -delete

4. 批量服务器SSH密钥部署 (Shell)

来源:Ansible简化版实现

bash
#!/bin/bash
# 批量部署SSH密钥到多台服务器

SERVERS=("server1""server2""server3")
USER="root"
KEY_FILE="/home/$USER/.ssh/id_rsa.pub"

for server in${SERVERS[@]}do
    ssh-copy-id -i $KEY_FILE$USER@$server && \
echo"密钥已部署到 $server" || \
echo"部署到 $server 失败"
done


三、安全运维类脚本

5. 异常登录检测脚本 (Shell)

参考:Fail2Ban的简化实现

bash
#!/bin/bash
# 检测异常SSH登录尝试并封锁IP

FAILED_LOG="/var/log/auth.log"
THRESHOLD=5       # 失败次数阈值
BLOCK_TIME="1h"# 封锁时长

# 分析日志获取异常IP
grep "Failed password"$FAILED_LOG | awk '{print $(NF-3)}' | sort | uniq -c | \
awk -v limit=$THRESHOLD'$1 > limit {print $2}' | whileread ip; do
    iptables -A INPUT -s $ip -j DROP && \
echo"$(date) 封锁IP: $ip" >> /var/log/iptables_block.log
# 定时解锁
    (sleep $BLOCK_TIME && iptables -D INPUT -s $ip -j DROP) &
done

6. 系统安全基线检查 (Shell)

参考:CIS安全基准的自动化实现

bash
#!/bin/bash
# 基础系统安全检查

echo"===== 安全检查报告 $(date) =====" > security_report.txt

# 1. 检查空密码账户
awk -F: '($2 == "") {print $1}' /etc/shadow >> security_report.txt

# 2. 检查SUID文件
find / -perm -4000 -type f 2>/dev/null >> security_report.txt

# 3. 检查SSH配置
grep -E "^PermitRootLogin|^PasswordAuthentication" /etc/ssh/sshd_config >> security_report.txt

# 4. 检查防火墙状态
iptables -L -n >> security_report.txt

echo"报告已生成: security_report.txt"

四、高级运维工具类脚本

7. 自动化Docker容器维护 (Shell)

bash
#!/bin/bash
# Docker容器自动化维护

# 清理停止的容器
docker container prune -f

# 清理无用镜像
docker image prune -a -f

# 重启不健康的容器
docker ps --filter "health=unhealthy" --format "{{.Names}}" | xargs -I {} docker restart {}

8. Kubernetes节点维护脚本 (Shell)

bash
#!/bin/bash
# K8s节点安全排水与维护

NODE=$1

if [ -z "$NODE" ]; then
echo"Usage: $0 <node-name>"
exit 1
fi

# 设置节点不可调度
kubectl cordon $NODE

# 驱逐所有Pod(DaemonSet除外)
kubectl drain $NODE --ignore-daemonsets --delete-emptydir-data --force

# 维护完成后恢复节点
kubectl uncordon $NODE


五、推荐的开源运维脚本项目

1.Linux Check - 系统健康检查工具
GitHub:
https://github.com/mehdilauters/linuxCheck

2.OSSEC - 开源主机入侵检测系统
官网: https://www.ossec.net/

3.Glances - 高级系统监控工具
GitHub:
https://github.com/nicolargo/glances

4.Mackerel - 服务器监控脚本集合
GitHub:
https://github.com/mackerelio/mackerel-agent

5.DigitalOcean运维脚本集
GitHub:
https://github.com/digitalocean/do_user_scripts

实践建议

1.使用版本控制系统管理脚本(如Git)

2.为脚本添加详细的注释和使用说明

3.实现日志记录和错误处理机制

4.定期审查和更新脚本

5.在生产环境使用前充分测试

end



一口Linux 


关注,回复【1024】海量Linux资料赠送


精彩文章合集

文章推荐

【专辑】ARM
【专辑】粉丝问答
【专辑】所有原创
专辑linux入门
专辑计算机网络
专辑Linux驱动
【干货】嵌入式驱动工程师学习路线
【干货】Linux嵌入式所有知识点-思维导图

一口Linux 写点代码,写点人生!
评论
  • 在物联网无线通信领域,随着行业应用场景的不断拓宽,同一频段下的设备通信需求正呈指数级增长,然而这一增长趋势却与频谱资源的有限性形成了鲜明对立,信道拥挤、信号串扰与非线性失真等不良现象所造成的“通信压力”正在持续放大。从智能家居的设备互联到工业物联网的实时控制,从智慧楼宇的广域组网到智慧城市的海量数据传输,有限的频谱资源不仅需要满足不断增长的设备通信需求,还需要适配不同场景对速率、时延与可靠性等差异化要求。在此背景下,如何在有限的频谱资源中实现更为稳定的无线通信质量,已成为物联网行业发展路径中的核
    华普微HOPERF 2025-07-07 16:13 544浏览
  • 在全球广泛倡导绿色低碳与可持续发展的时代浪潮中,新能源汽车作为实现节能减排的重要载体之一,正受到各国政府与企业的加速培育。在此背景下,为提升新能源汽车的市场渗透率,我国已率先进入充电基础设施建设的加速期,从私人专用充电桩到社区公用充电桩,从高速路网补能节点到城市公用充电桩,汽车补能网络正在急速膨胀中。图源:摄图网(已授权)据中国充电联盟(EVCIPA)最新统计数据显示,截止2025年5月份,我国充电基础设施累计数量为1440万台,同比上升45.1%。其中,在2025年1月~5月期间,我国充电基础
    华普微HOPERF 2025-07-09 16:13 257浏览
  • 曾经靠“砍一刀”撕裂传统电商格局的拼多多,如今疲态尽显。数据显示,拼多多今年第一季度实现营收957亿元,同比增长10%,市场预估1016亿元,相比预期低了近60亿元;经营利润为161亿元,相比去年同期下降38%;归属于普通股股东的净利润为147亿元,同比下降47%。与此同时,拼多多市值也坐上了“过山车”。去年市值一度突破 2180 亿美元,力压国内电商巨头阿里,今年(7月1日收盘)市值仅余 1497.59 亿美元,已不足阿里(市值2718.63亿美元)一半
    用户1742991715177 2025-07-05 14:24 410浏览
  • 工业物联网时代,作为一种普遍应用在汽车电子、工业控制与医疗器械等领域中的串行总线通信技术——CAN(Controller Area Network)总线基于消息广播模式,通过双绞线传输差分信号,是一种多主控(Multi-Master)的总线系统,具备极强的抗干扰能力、极低的传输延迟和高速数据传输性能。一种典型的CAN总线网络示意图在CAN总线通信过程中,CAN收发器作为物理层上的接口芯片,位于CAN控制器(MCU)和CAN总线之间,主要负责将来自CAN控制器(MCU)的数字信号与总线上的差分信号
    华普微HOPERF 2025-07-04 14:44 1956浏览
  •   去年底,整理旧物,扔的扔了,留的留了,这不,十四个几十年前留下来的工业级小型排风扇,下图左上角处,又拿出来,下决心把它们再利用发挥余热。  呵呵,这回不是拆而是装了。怎么装呢?组装、固定、机架、接线,简单,也不简单,原则是一切都用手头现有废旧材料,争取做到一个不买!DIY,废物利用,如今时髦的话,以旧换新!摆上台面,找来木条,策划怎么做?  比一比,看一看,觉得合适,按尺寸锯开木条。  咋走线?想到了,在有限空间内弯转,从一个螺丝孔穿出来,整体拼凑整齐。   咋固定风扇呢?找来木片条,锯断,
    自做自受 2025-07-06 21:37 514浏览
  • 提要:采用LOXIM的微孔雾化专用芯片LX8201,能突破压电陶瓷驱动电压超标(24伏)的技术难题,满足全球市场对喷雾玩具的电压安规认证要求。玩具行业尤其是喷雾玩具行业内人士都知道,喷雾玩具的压电陶瓷驱动电压超标(常需60-100V)与强制安规标准(中国,日本,欧美,都一样)对玩具电压的限制(≤24V)存在根本性冲突,如果采用“多层压电堆叠(MPA)技术“(比如日本TDK公司),成本将增加至现有微孔雾化片的10倍以上,这个矛盾一直没有得到好的解决。喷雾玩具在国内热销(淘宝/抖音),能卖的原因,无
    Loximonline 2025-07-08 10:55 256浏览
  • 在数字化、自动化高速发展的今天,光电耦合器正以一种低调却不可或缺的方式,悄然改变着我们的生活。它不仅是电子电路中的“安全卫士”,更是连接信号世界的“桥梁”,凭借出色的电气隔离能力,为各类设备提供稳定可靠的信号传输保障。电气隔离——让系统更安全在工业控制系统中,安全始终是重中之重。光电耦合器通过光信号进行电气隔离,能够有效防止高压电流侵入低压控制电路。例如,在智能电网系统中,它广泛应用于电表与通信模块之间,确保数据传输的安全性,防止电网高压对低压设备造成冲击。在电动汽车的电池管理系统(BMS)中,
    腾恩科技-彭工 2025-07-05 13:56 444浏览
  • 什么是LoRaWAN? LoRaWAN技术及应用LoRaWAN(Long Range Wide Area Network)是一种低功耗、长距离、广域网络通信协议,特别设计用于连接物联网(IoT)设备。LoRaWAN采用无线通信技术,能够覆盖数十公里的范围,提供长时间的电池寿命,适用于智能城市、农业、工业自动化、环境监测,与健康医疗等领域应用。来源: LoRa Alliance一探究竟:LoRaWAN物联网应用优势营运商采用 LoRaWAN 具有多方面的优势,除了长距离覆盖范围及低功耗的特点外,还
    百佳泰测试实验室 2025-07-10 14:51 263浏览
  •   几个月前,一个老旧的大风扇的散风圈(俺不知其专业名称)的开关按钮不起作用,就是锁不住了,散风圈也就不转了。今天,有空,就拿到工作台,开始拆解分析故障原因,能修好更好。  看看,用的时间够长了吧!皮肤都变颜色了。看标签,合格品2005年的。  底部四个螺丝固定,很容易拆开了。  看到掉下一个标签圆纸片,拿起来看看,是那个横向摇头的电机的。  找到那个按钮开关位置  应该是开关内部的有缺陷了。把它拆下来,一看就是正规合格品。  拿出我日积月累的分类藏宝盒,呵呵,找到一款螺丝孔位正好合适的。   
    自做自受 2025-07-10 11:16 290浏览
  • 本文主要针对分立方案高速输出电路,由于MOS管、稳压管、PCB布局布线都存在一些寄生电容,这些寄生电容都会影响高速输出电路的占空比,所以本文对这些寄生电容的影响进行简单说明。测试工况:电压:24V,负载类型:阻性负载2K,输出频率:200Khz,要求占空比45%~55%;电路拓扑如下图所示:图1寄生电容分布情况:如下图所示,MOS管寄生电容为Cgd、Cgs、Cds,稳压管寄生电容为Cd;图2而MOS管手册常见的参数如下图所示为Ciss、Coss、Crss(为啥是这些参数,而不改成Cgs、Cgd、
    用户1751282873645 2025-07-08 23:58 181浏览
  • 据知名市场研究机构Counterpoint Research发布的数据概览,2025年第二季度,中国智能手机销量预计将迎来小幅回暖,增长率约为1%。在这场销量微增的背后,华为与苹果两大品牌成为了推动市场前行的核心力量。其中华为手机的表现最为亮眼,数据显示,华为在中国市场的智能手机销量份额实现了12%的同比增长,这一成绩不仅使其成为了当季增长最快的品牌,更助力华为重新夺回销量榜首的位置。相比之下,vivo的表现就有些尴尬了。虽然还是位列第二,但vivo在第二季度的智能手机销量份额同比下降了9%,下
    用户1742991715177 2025-07-09 08:19 207浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦