nginx日志备份:如何定期备份日志文件
利用cron和shell脚本自动定期备份Nginx日志,脚本指定日志与备份目录,按日期打包压缩并清除30天前的旧备份,通过crontab设置执行时间,零依赖,需注意监控备份目录磁盘空间,防止溢出。
说到Nginx日志备份,这事儿看着简单,但真踩过坑的人都知道——日志文件越滚越大,磁盘空间说爆就爆,等到排查问题时发现日志已经被覆盖,那才叫一个欲哭无泪。其实,用cron配合一个简单的shell脚本就能搞定定期备份,自动、省心、还能保留历史记录。下面就把这套标准化流程拆开来讲,每一步都配了代码,直接复制改路径就能用。

-
先写一个备份脚本,比如命名为
backup_nginx_logs.sh。脚本的逻辑很直白:指定Nginx日志目录和备份目标目录,用当前日期给备份文件命名,然后打包压缩,顺便把30天前的旧备份清掉。具体内容如下:#!/bin/bash # 设置日志文件和备份目录 nginx_logs_path="/var/log/nginx" backup_dir="/path/to/your/backup/directory" # 获取当前日期 current_date=$(date +"%Y-%m-%d") # 创建备份目录(如果不存在) mkdir -p "$backup_dir" # 备份Nginx日志文件 tar -czf "$backup_dir/nginx_logs_$current_date.tar.gz" -C "$nginx_logs_path" . # 删除30天前的备份文件 find "$backup_dir" -type f -name "*.tar.gz" -mtime +30 -exec rm {} \;注意:把
nginx_logs_path和backup_dir换成你服务器上实际的路径。 -
脚本写好后,给它加上可执行权限,否则cron跑不起来:
chmod +x backup_nginx_logs.sh -
接下来配置cron任务。编辑当前用户的crontab文件:
crontab -e -
在编辑器里加一行,定义执行时间。比如希望每天凌晨1点自动备份,就写:
0 1 * * * /path/to/your/backup_nginx_logs.sh记得把路径换成脚本的实际位置。
-
保存退出,cron就会按你设定的时间表自动运行脚本。如果想调整备份频率(比如每小时、每周),改cron表达式就行。保留天数也可以自己控制——上面脚本里
-mtime +30表示删除30天前的文件,改成+7就是保留一周,按需修改。
这套方法的好处是零依赖、纯系统工具,几乎任何Linux发行版都能直接跑。唯一需要留意的就是备份目录的磁盘空间,别让备份文件本身把磁盘撑爆——记得定期检查或者设置监控告警。
AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。
AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。
AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。
Fuzor Windows版是一套面向建筑、工程与施工团队的BIM/VDC平台,可汇集多来源模型和进度数据,完成实时可视化、4D施工推演、场地物流规划、问题检查、成果演示及团队协同。
Gety Windows版是一款本地AI文件搜索工具,可索引电脑中的文档和图片,通过全文搜索、语义检索与OCR快速定位内容,并提供原版式预览、筛选和AI工具连接功能。
iMazing Windows版是一款面向iPhone、iPad和iPod用户的本地设备管理工具,可在电脑上完成多版本备份、照片与音乐传输、信息导出、应用数据管理以及新旧设备迁移。






