综合脚本实战!自动备份、清日志、服务器巡检

一、今日学习目标 ✅ 掌握企业标准脚本完整结构✅ 学会时间戳、日志记录、目录判断规范写法✅ 掌握自动清理过期日志原理✅ 掌握打包备份 + 留存历史备份方案✅ 掌握CPU/内存/磁盘全自动巡检告警 二、脚本通用标准规范(企业硬性要求) 1. 脚本首行必须: #!/bin/bash 2. 所有路径使用绝对路径3. 执行前判断目录/文件是否存在4. 所有操作输出日志记录5. 定时任务脚本必须加容错判断 三、实战1:自动清理7天过期日志脚本(线上必用) 功能:自动扫描日志目录,删除7天前无用日志,防止磁盘爆满 bash #!/bin/bash# Day16 自动清理日志脚本

定义日志目录LOG_DIR="/var/log"# 定义脚本运行日志RUN_LOG="/home/log_clear.log"

判断目录是否存在if ! -d $LOG_DIR ;then echo "目录不存在!" >> $RUN_LOG exit 1fi

删除7天前日志echo "=====(date +%Y-%m-%d %H:%M:%S) 开始清理日志====" \>\> RUN_LOGfind LOG_DIR -name "\*.log" -mtime +7 -deleteecho "清理完成" \>\> RUN_LOG 使用方法 1. 保存为 clear_log.sh 2. 授权 chmod +x clear_log.sh 3. 加入定时任务 每天凌晨1点自动执行 plaintext 0 1 * * * /home/clear_log.sh 四、实战2:自动打包备份脚本(网站/数据库通用) 功能:自动打包站点目录、自动命名时间戳、保留最近30天备份 bash #!/bin/bash# Day16 自动备份脚本

备份源目录BAK_SRC="/home/www"# 备份存放目录BAK_DST="/home/backup"# 时间戳TIME=$(date +%Y%m%d)

创建备份目录mkdir -p $BAK_DST

打包备份tar -zcvf BAK_DST/web_TIME.tar.gz $BAK_SRC

删除30天前旧备份find $BAK_DST -name "web_*.tar.gz" -mtime +30 -delete

echo "备份完成:web_$TIME.tar.gz" 企业优势 - 文件名带日期,不会覆盖- 自动清理旧备份,不占磁盘- 可用于网站、配置、数据库目录备份 五、实战3:服务器健康巡检脚本(运维必备) 自动检测:磁盘使用率、内存剩余、系统负载,异常输出日志 bash #!/bin/bash# Day16 服务器健康巡检脚本

LOG_FILE="/home/check_server.log"

echo "=====服务器巡检时间:(date +%Y-%m-%d %H:%M:%S)====" \> LOG_FILE

1. 查看磁盘使用率echo "【磁盘使用情况】" >> LOG_FILEdf -h \>\> LOG_FILE

2. 查看内存情况echo -e "\n【内存使用情况】" >> LOG_FILEfree -h \>\> LOG_FILE

3. 查看系统负载echo -e "\n【系统负载】" >> LOG_FILEuptime \>\> LOG_FILE

4. 查看Top5高占用进程echo -e "\n【资源占用最高进程】" >> LOG_FILEps -ef --sort=-%cpu \| head -6 \>\> LOG_FILE 六、脚本 + Crontab 全自动运维方案(生产标配) 1. 凌晨1点:清理过期日志2. 凌晨2点:打包网站数据备份3. 每6小时:服务器健康巡检 plaintext 0 1 * * * /home/clear_log.sh0 2 * * * /home/bak_web.sh0 */6 * * * /home/check_server.sh 七、新手脚本排错总结 1. 定时任务不执行:缺少绝对路径、未授权、无环境变量2. 打包为空:源目录路径错误3. 清理日志误删:先执行find预览,再加-delete4. Windows编辑脚本:存在换行符报错,用 dos2unix 修复 八、今日实操作业 1. 新建三个脚本文件2. 全部授权运行一次3. 添加到crontab定时任务4. 查看生成的日志文件 九、今日总结 1. 日志清理脚本:解决磁盘爆满问题2. 定时备份脚本:保障业务数据安全3. 服务器巡检脚本:快速掌握服务器健康状态4. 脚本+定时任务=企业自动化运维标准5. 从今天起,你的Linux能力已经达到初级运维上岗标准

相关推荐
用户03321266636710 分钟前
如何在 Python 环境中裁剪 PDF 页面
python
威联通网络存储13 分钟前
TS-h2287XU-RP 在医药制造批记录与合规归档场景的部署
python·制造
蓝鸟197420 分钟前
Python Flask + Oracle 接口开发 小白完整版笔记(入参/查库/批量/JSON/避坑)
python·oracle·flask
正在走向自律26 分钟前
从 Python 基础到大模型落地:读《深入浅出 Python 人工智能》,吃透 AI 工程化 CRUD 实战
开发语言·人工智能·python·机器学习·知识脉络
171320330计算机毕设编程27 分钟前
2027计算机毕设五大方向对比&选题推荐
java·ide·python·算法·django·php·推荐算法
Zane199429 分钟前
去重用 set 到底能快多少?实测差距接近三百倍
后端·python
岁月宁静31 分钟前
二、《从零手撸 Agent》 — 聊聊 LLM 的失忆真相
前端·python·agent
0xBADCODE38 分钟前
动态DEX加载+反射+DES硬编码密钥:安卓三层逆向实战
android·java·python·安全·网络安全·逆向·ctf
岁月宁静1 小时前
一、《从零手撸 Agent》 我用 10 行代码跑通了第一次大模型调用(顺便踩了 4 个坑)
前端·python·agent
大连好光景1 小时前
【AI Agent案例开发项目01解读】
chrome·python·langchain