当前位置: 首页 > news >正文

docker nginx 定时脚本保存30天日志信息

第一步
创建 docker_nginx_log_rotate.sh 脚本内容

#!/bin/bash# 宿主机上挂载的Nginx日志路径
LOG_PATH="/home/nginx/log"  # 替换为实际的宿主机日志挂载路径
# 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" ]; thengzip "$LOG_PATH/$ACCESS_LOG"mv "$LOG_PATH/$ACCESS_LOG.gz" "$LOG_PATH/$ACCESS_LOG-$DATE.gz"fi# 压缩并重命名错误日志if [ -f "$LOG_PATH/$ERROR_LOG" ]; thengzip "$LOG_PATH/$ERROR_LOG"mv "$LOG_PATH/$ERROR_LOG.gz" "$LOG_PATH/$ERROR_LOG-$DATE.gz"fi# 删除超过保留天数的日志文件find "$LOG_PATH" -name "access.log-*.gz" -mtime +$KEEP_DAYS -deletefind "$LOG_PATH" -name "error.log-*.gz" -mtime +$KEEP_DAYS -delete# 向Docker容器内的Nginx发送USR1信号,触发日志轮转docker exec $CONTAINER_NAME nginx -s reopen# 等待Nginx处理日志轮转sleep 2echo "Docker Nginx日志轮转完成: $(date)"
elseecho "日志目录不存在: $LOG_PATH"
fi

第二步
设置权限

chmod +x docker_nginx_log_rotate.sh

第三步

crontab -e
//每天 17.20执行
20 17 * * * /home/docker_nginx_log_rotate.sh  >/dev/null 2>&1
http://www.dtcms.com/a/332038.html

相关文章:

  • MFC的使用——使用ChartCtrl绘制曲线
  • 2025.8.13~14 实习总结
  • 计算机网络技术学习-day1《网络乾坤:从比特洪流到协议星河的奇幻之旅》​
  • MCU中的LTDC(LCD-TFT Display Controller)
  • 网卡聚合teamdctl
  • 大模型技术栈全景
  • Java 图片像素碰撞检测
  • Linux软件编程-进程(1)
  • 【嵌入式C语言】四
  • 【PCB设计经验】3D模型在线预览!效率便捷!
  • pycharm远程连接服务器跑实验详细操作
  • ClickHouse 日常运维命令总结
  • 并发编程原理与实战(二十三)StampedLock应用实战与其他锁性能对比分析
  • CentOS7系统负载异常飙高全链路分析详细指南
  • Kaggle赛题分析1:Elo用户忠诚度评分预测(2)-特征工程与模型训练
  • 解决Python环境混乱问题
  • 【159页PPT】智慧方案企业数字化转型流程体系建设与运营方案(附下载方式)
  • 鸿蒙应用开发实战:模块内页面路由与Navigation导航详解
  • 深入理解提示词工程:从入门到精通的AI对话艺术
  • 零基础-动手学深度学习-10.3. 注意力评分函数
  • [vibe coding-lovable]lovable是不是ai界的复制忍者卡卡西?
  • 《零基础入门AI:深度学习中的视觉处理(卷积神经网络(CNN)进阶)》
  • 光猫 SK-D840N 获取管理员密码和登录Telnet简记
  • 如何永久修改开发板的时间(重启开发板也不会失效)
  • 深度学习-卷积神经网络CNN-膨胀卷积、可分离卷积(空间可分离、深度可分离)、分组卷积
  • 从红警中来学习工厂方法 vs. 抽象工厂
  • C# 异步编程:提高应用程序效率的关键
  • A股大盘数据-20250814 分析
  • mysql如何降级
  • IDEA 插件 Trae AI 全攻略