创建 Docker Nginx 日志轮转脚本
首先创建 docker_nginx_log_rotate.sh 脚本:
#!/bin/bash
# 宿主机上挂载的 Nginx 日志路径
LOG_PATH="/home/nginx/log"
# 替换为实际的宿主机日志挂载路径
# 宿主机压缩包日志存放路径
LOG_PATH_ZIP="/home/nginx/logzip"
# Docker 容器名称或 ID
CONTAINER_NAME="容器 id"
# 替换为你的 Nginx 容器名称或 ID
# 保留日志天数
KEEP_DAYS=30
# 获取当前日期
DATE=$(date +%Y%m%d)
# 定义日志文件
ACCESS_LOG="access.log"
ERROR_LOG="error.log"
# 检查日志目录是否存在
if [ -d "$LOG_PATH" ]; then
# 压缩并重命名访问日志
if [ -f "$LOG_PATH/$ACCESS_LOG" ]; then
gzip "$LOG_PATH/$ACCESS_LOG"
mv "$LOG_PATH/$ACCESS_LOG.gz" "$LOG_PATH_ZIP/$ACCESS_LOG-$DATE.gz"
fi
# 压缩并重命名错误日志
if [ -f "$LOG_PATH/$ERROR_LOG" ]; then
gzip "$LOG_PATH/$ERROR_LOG"
find -name -mtime + -delete
find -name -mtime + -delete
docker nginx -s reopen
2


