Docker安装nginx日志备份方案

方案描述:映射nginx容器中的日志文件到宿主机 --> shell脚本定时备份日志 --> 定时任务执行shell脚本

1、映射nginx容器中的日志文件

2、编辑定时备份日志的shell脚本

2.1 文件夹命名为`backup_nginx_log.sh`

2.2 注意容器名称为nginx,如果不一致需要修改

2.3 注意变量`NGINX_LOG_DIR`需要和第一步设置的宿主机地址一致

#!/bin/bash
# 设置变量
NGINX_LOG_DIR="/home/lanwon/docker/nginx/logs"  # Nginx日志目录
BACKUP_DIR="/home/lanwon/docker/nginx/backup"    # 备份目录
MAX_BACKUPS=30                   # 保留的最大备份数量
# 获取当前日期作为备份文件夹名称
DATE=$(date +%Y-%m-%d)
# 创建备份目录
mkdir -p "${BACKUP_DIR}/${DATE}"
# 备份Nginx日志文件到指定日期的文件夹
cp -r "${NGINX_LOG_DIR}" "${BACKUP_DIR}/${DATE}"
# 删除超过最大备份数量的旧备份
cd "${BACKUP_DIR}"
ls -t | tail -n +$(expr ${MAX_BACKUPS} + 1) | xargs rm -rf
# 清空Nginx日志文件
find "${NGINX_LOG_DIR}" -type f -name '*.log' -exec truncate -s 0 {} \;
# 重启nginx服务,容器名称不为nginx请修改
docker restart nginx

3、新增定时任务

3.1注意shell脚本`backup_nginx_log.sh`的目录需要根据实际情况修改

0 1 * * * /home/lanwon/docker/nginx/backup/backup_nginx_log.sh

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值