日志轮转

日志的轮替、日志的轮转
为什么要轮转?
1)防止日志文件过大
2)定期清除日志

日志轮转的配置文件

vim /etc/logrotate.conf

# grep -v ^# /etc/logrotate.conf | grep -v ^$
    weekly                          //轮转的周期,一周一轮转
    rotate 4                         //保留几个旧的日志文件,类似于备份
    create                            //旧日志轮转后是否创建新的空白日志
    dateext                           //使用日期作为旧日志的后缀
    include /etc/logrotate.d     //包含该路径下的所有配置文件
    /var/log/wtmp {               //针对特定的日志进行定制设置
        monthly                      //轮滚周期,一个月
        create 0664 root utmp   //创建新的日志文件  权限664 所有者root 所属组utmp
        minsize 1M                  //轮滚的最小大小是1M
        rotate 1
    }
    /var/log/btmp {
        missingok               //丢了也没关系
        monthly
        create 0600 root utmp
        rotate 1
    }

小实验:
1、修改配置文件,添加一行自己定义的内容,重启服务

vim /etc/rsyslog.conf

    authpriv.*            /usr/local/secure
# systemctl rsyslog restart

2、自己编写轮转配置文件

vim /etc/logrotate.d/secure

    /usr/local/secure {
        missingok
        notifempty
        daily
        create
        rotate 4
        compress
    }

3、手动轮转日志文件

logrotate -vf /etc/logrotate.d/secure

# cd /usr/local
# ls secure*
    secure  secure.1.gz

相关的参数 功能
compress 通过gzip压缩转储以后的日志
nocompress 不需要压缩时,用这个参数
copytruncate 用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate 备份日志文件但是不截断
create mode owner group 转储文件,使用指定的文件模式创建新的日志文件
nocreate 不建立新的日志文件
delaycompress 和compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress 覆盖delaycompress 选项,转储同时压缩。
errors address 专储时的错误信息发送到指定的Email 地址
ifempty 即使是空文件也转储,这个是logrotate 的缺省选项。
notifempty 如果是空文件的话,不转储
mail address 把转储的日志文件发送到指定的E-mail 地址
nomail 转储时不发送日志文件
olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
noolddir 转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript 在转储以前需要执行的命令,这两个关键字必须单独成行
postrotate/endscript 在转储以后需要执行的命令,这两个关键字必须单独成行
daily 指定转储周期为每天
weekly 指定转储周期为每周
monthly 指定转储周期为每月
rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
tabootext [+] list 让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和~
size size 当日志文件到达指定的大小时才转储,Size 可以指定bytes (缺省)以及KB (sizek)或者MB

原文地址:http://blog.51cto.com/13553337/2086939

时间: 2024-10-11 05:17:37

日志轮转的相关文章

logrotate的日志轮转linux

案例:logrotate的日志轮转 针对admin.log文件,设置logrotate 每天轮转一次 保留3个备份 文件大于100k自动轮转 论转完的文件压缩创建权限0600,所有者root 所属组root 步骤: 1.首先查看logrotate包是否安装 [[email protected] log]# rpm -q logrotate logrotate-3.7.8-17.el6.x86_64 创建日志admin.log 因为本人虚拟机中没有admin.log这个文件 [[email pro

MongoDB日志轮转

在配置文件中添加参数 logpath=/data/app_data/mongodb/log/mongodb.log  logappend=true Windows下只有这种日志轮转方式 > use admin; switched to db admin > db.runCommand({logRotate : 1}) { "ok" : 1 } Linux下还可以通过设置定时任务每天凌晨轮转日志 0 0 * * * /bin/kill -SIGUSR1 `cat /data/

Linux下logrotate日志轮转操作梳理

对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到"转储"作用.可以节省磁盘空间.下面就对logrotate日志轮转操作做一梳理记录: 1)配置文件介绍Linux系统默认安装logrotate工具,它默认的配置文件在:/etc/logrotate.conf/etc/logrotate.d/ logrotate.conf 才主要的配置文件,logrotate.d 是一个目录,该目

Apache自带的rotatelogs实现日志轮转

用Apache自带的rotatelogs程序处理apache生成的日志自动截断重新生成,rotatelogs是一个配合Apache管道日志功能使用的简单程序.设置方法如下: 编辑Apache的主配置文件,更改内容如下: 注释掉如下两行 ErrorLog logs/error_log CustomLog logs/access_log common 然后添加如下两行 ErrorLog "|/path/to/bin/rotatelogs logs/errorlog.%Y-%m-%d-%H_%M_%S

docker的日志轮转rotate具体实现

type JSONFileLogger struct { buf      *bytes.Buffer //buffer内容 f        *os.File   // 文件属性 mu       sync.Mutex // buffer写文件的锁 capacity int64      //文件容量 n        int        //日志备份的最大数 ctx      logger.Context } 写日志的时候,是通过协程锁约定,防止写入冲突 func (l *JSONFile

Linux 日志轮转

日志轮转的效果就是把原先的日志记录在本地改成记录在远程设备上实现条件:两台Linux主机,一个是(本地主机)产生日志,另一个(远处主机)负责在远处接收日志 本地主机:1.修改链接设备成自定义名称为:LOCAL5 2.保存以后文件就不是记录在本地了,而是传到LOCAL5自定义设备了 3.修改rsyslog.config文件对应自定义的LOCAL5 4.重启日志配置文件 远程主机(接收端):1.修改日志配置文件,默认是不能接收外来日志的,需要修改 2.解禁这两行实现可以接收外来日志,并且指定接来的文

09、日志轮转+rsync同步

-- logrotate   -  rotates,  compresses,  and mails system logs 日志轮转 rotate 日志切割 轮转   切割   备份   归档 常见的默认已经定义轮转的日志有: /var/log/messages /var/log/cron /var/log/boot.log /var/log/maillog /var/log/secure vim /etc/logrotate.conf --配置文件 # see "man logrotate&

logrotate日志轮转

logrotate轮转 减小日志大小,降低分析难度 丢弃过期日志节省空间 结合cron每天执行 软件包 logrotate 配置文件 /etc/logrotate.conf /etc/logrotate.d 主配置文件及参数 /etc/logrotate.conf 配置文件格式 weekly     轮转频率,默认每周 rotate 4     保留4个轮转备份 create       执行轮转后创建新文件 compress   通过gzip压缩转储以后的日志 nocompress 不需要压缩

python logging 日志轮转文件不删除问题

前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logging 的 TimedRotatingFileHandler : 1 #!/user/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import logging 5 from logging.handlers import TimedRotatingFil