使用logrotate配置日志切割

日志切割的方式有很多种,以下为使用logrotate配置nginx的日志切割

1、配置切割nginx的日志文件  vi /etc/logrotate.d/nginx

/var/log/nginx/*.log {
    create 0640 nginx root    #表示在轮换期间新创建的文件权限和所属用户
    daily                     #表示按天的单位进行轮替
    rotate 10                 #表示保留旧文件的数量
    size 2G                   #表示日志文件大小达到2G触发轮替
    missingok                 #如果日志文件不存在,则忽略,不报错
    notifempty                #如果日志为空,不轮转日志
    compress                  #轮转后的日志文件进行压缩
    sharedscripts             #在每个日志文件轮转时只执行一次脚本
    dateext                   #轮转后的日志文件后面添加日期作为扩展名
    dateformat .%Y-%m-%d-%H   #设置轮转时附加的日期格式
    extension .%Y-%m-%d-%H%M  #置轮转后的日志文件扩展名的格式
    postrotate                #部分包裹的命令将在轮转后执行,这里的命令主要是向 Nginx 服务器发送 USR1 信号,
以触发 Nginx 重新打开日志文件,实现日志切割 /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true endscript }

2、使用定时任务去触发,这里设置的是每小时执行一次 vi /etc/cron.hourly/logrotate

#!/bin/bash
/usr/sbin/logrotate /etc/logrotate.conf

 

posted @ 2024-03-25 14:39  ZANAN  阅读(91)  评论(0编辑  收藏  举报