阅读量:2
一、备份策略
-
logrotate工具
- 通过配置
/etc/logrotate.d/nginx实现日志自动轮转、压缩和删除,如每天轮转、保留14天日志、压缩旧日志。 - 示例配置:
/var/log/nginx/*.log { daily rotate 14 compress missingok create 0640 nginx nginx postrotate kill -USR1 `cat /var/run/nginx.pid` endscript }
- 通过配置
-
脚本+定时任务
- 编写Shell脚本备份日志到指定目录,结合
cron定时执行,支持按日期命名备份文件。 - 示例脚本:
#!/bin/bash LOG_PATH="/var/log/nginx" BACKUP_PATH="/data/nginx_backup/$(date -d "yesterday" +%F)" mkdir -p $BACKUP_PATH tar -czvf $BACKUP_PATH/access_$(date -d "yesterday" +%F).tar.gz $LOG_PATH/access.log
- 编写Shell脚本备份日志到指定目录,结合
-
实时同步备份
- 使用
rsync或scp将日志实时同步到远程服务器,避免单点故障。
- 使用
二、恢复策略
-
误删恢复(文件未彻底清除)
- 通过
lsof命令查找被删除但仍被Nginx进程占用的日志文件描述符,从/proc目录复制回原路径,然后重启Nginx重新打开日志文件。 - 操作步骤:
lsof | grep deleted # 查找被删除的文件描述符 cp /proc//fd/ /var/log/nginx/access.log # 复制文件 nginx -s reopen # 重新加载日志文件
- 通过
-
从备份恢复
- 将备份的压缩包解压到原日志路径,重启Nginx即可。
- 示例命令:
tar -xzvf /backup/access_20250820.tar.gz -C /var/log/nginx/ nginx -s reopen
-
日志损坏恢复
- 若日志文件部分损坏,可通过
dd命令尝试修复,或从完整备份中恢复。
- 若日志文件部分损坏,可通过
三、注意事项
- 权限管理:确保备份目录权限正确,避免未授权访问。
- 存储安全:定期清理过期备份,异地存储重要日志以防本地故障。
- 测试验证:定期测试备份文件的可恢复性,确保流程可靠。
参考来源:
以上就是关于“nginx日志备份与恢复策略”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm