码迷,mamicode.com
首页 > 其他好文 > 详细

logrotate日志轮转

时间:2018-05-15 01:38:22      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:date   load   stat   usr   应用服务   空间   bin   服务   creat   

1)基本介绍

适合应用服务日志,系统日志按天切割
如果没有日志轮转,日志文件会越来越大
将丢弃系统中最旧的日志文件,以节省空间
logrotate本身不是系统守护进程,它是通过计划任务crond每天执行

# cat /etc/cron.daily/logrotate 
#!/bin/sh
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf      //日志轮转,按照/etc/logrotate.conf
注释:/var/lib/logrotate/logrotate.status 是轮转记录
/usr/sbin/logrotate -f /etc/logrotate.conf      //强制轮转日志,主要用于测试
    /usr/sbin/logrotate -f /etc/logrotate.d/httpd   //具体的服务日志轮转

2)配置文件

logrotate配置文件
/etc/logrotate.conf         //决定每个日志文件如何轮转
/etc/logrotate.d/* 

3)配置文件详解

# egrep -v "^$|^#" /etc/logrotate.conf 
==================全局设置==================
weekly                              //轮转周期,一周轮转
rotate 4                            //保留4份
create                              //轮转后创建新文件
dateext                             //使用日志作为后缀
compress                            //是否压缩
include /etc/logrotate.d            //包含该目录下的文件
/var/log/wtmp {                     //对该日志文件设置轮转的方法
    monthly                         //一个月轮转一次
    create 0664 root utmp           //轮转后创建新文件,并设置权限
    minsize 1M                      //最小达到1M才轮转
    rotate 1                        //保留一份
}
/var/log/btmp {
    missingok                       //丢失不提示
    monthly
    create 0600 root utmp
    rotate 1
}

4)httpd服务日志轮转

#vim  /etc/logrotate.d/httpd
/var/log/httpd/*log {
    missingok
    notifempty              //即使日志文件为空文件也做轮转,这个是logrotate的缺省选项。
    sharedscripts       //运行postrotate脚本,作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个,那么每个日志轮转后都会执行一次脚本
    delaycompress       //延迟压缩
    postrotate          //在logrotate转储之后需要执行的指令,例如重新启动 (kill -HUP) 某个服务!必须独立成行
        /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
    endscript
}
#/usr/sbin/logrotate -f /etc/logrotate.conf     //强制轮转日志
#ll /var/log/httpd/access*                      //发现日志已经被切割了

5)nginx 服务日志轮转

cat /etc/logrotate.d/nginx
/usr/local/nginx/logs/*log {
    daily
    rotate 365
    missingok
    notifempty
    compress
    dateext
    sharedscripts
    postrotate
    /usr/local/nginx/sbin/nginx reload
    endscript
}

logrotate日志轮转

标签:date   load   stat   usr   应用服务   空间   bin   服务   creat   

原文地址:https://www.cnblogs.com/lovelinux199075/p/9038821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!