拓冰建站拓冰建站
首页 / 资讯中心 / 正文

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

一、今日学习目标 ✅ 掌握企业标准脚本完整结构✅ 学会时间戳、日志记录、目录判断规范写法✅ 掌握自动清理过期日志原理✅ 掌握打包备份 留存历史备份方案✅ 掌握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 -deleteecho 备份完成web_$TIME.tar.gz 企业优势 - 文件名带日期不会覆盖- 自动清理旧备份不占磁盘- 可用于网站、配置、数据库目录备份 五、实战3服务器健康巡检脚本运维必备 自动检测磁盘使用率、内存剩余、系统负载异常输出日志 bash #!/bin/bash# Day16 服务器健康巡检脚本LOG_FILE/home/check_server.logecho 服务器巡检时间$(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能力已经达到初级运维上岗标准
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门