Nginx日志切割方法(包含docker容器中nginx日志的切割)
logrotate软件简介
logrotate 是一个 Bash 的 SHELL 脚本,可对日志文件进行切分,并将切分后的日志放在统一目录。
logrotate 要求 GNU bash、GNU gzip 和 GNU date。
logrotate 实用程序旨在简化在生成大量日志文件的系统上对日志文件的管理。允许自动循环压缩,删除和邮寄日志文件。可以将logrotate设置为每小时、每天、每周、每月或当日志文件达到一定大小时处理日志文件。
一般来说,logrotate是linux自带的服务,根据不同日志服务配置独立的配置文件,一般是在/etc/logrotate.d。
切割nginx日志的配置文件内容如下:(nginx安装在宿主机上)
切割nginx日志的配置文件内容如下:(nginx安装在docker容器上)
脚本说明:
"nginx"为容器名称,可以按实际调整
文件中“/var/log/nginx/”为nginx日志默认目录,由于在nginx.conf文件中可以调整日志目录,所以需要跟据需求调整。
检测命令:
logrotate -d -f /etc/logrotate.d/docker_nginx
手动执行命令:
logrotate -f /etc/logrotate.d/docker_nginx
配置自定义的crontab任务
把 logrotate 的任务计划删掉,在每天凌晨00:00进行切割nginx日志
logrotate参数: