日志切割

日志切割

为什么要做日志切割?

/data/logs/ 里面有很多访问日志。如果日志越来越大,可能有一天会占满整个磁盘,为了避免日志过大导致的一些问题,需要每天做日志切割。

查看日志命名:

cat less tail more vi

系统里有一个日志切割的服务logrotate

# cat /etc/logrotate.conf  //logrorate日志切割的配置文件
子配置文件在/etc/logrotate/*下

配置说明:

# see "man logrotate" for details
# rotate log files weekly
weekly  //表示按周切割

# keep 4 weeks worth of backlogs
rotate 4  //保留4个,切割4个文件

# create new (empty) log files after rotating old ones
create    //把旧的文件改名字,新建一个新的文件

# use date as a suffix of the rotated file
dateext    //使用日志作为后缀切割文件

# uncomment this if you want your log files compressed
#compress  //是否要压缩

# RPM packages drop log rotation information into this directory

include /etc/logrotate.d //包含了这个目录下的日志文件

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {     //针对这个日志目录的文件进行切割
    monthly   //按月切割 
    create 0664 root utmp
minsize 1M   //单个文件大小,大于1M就切割,小于1M不切割
    rotate 1
}

/var/log/btmp {  //针对这个日志目录的文件进行切割
missingok     //忽略错误
monthly      //按月切割
create 0600 root utmp   //切割用户和数组的权限
rotate 1   //保留天数
}

可以将nginx的日志目录/data/logs/bbs.access.log目录加入到系统日志切割配置文件中进行定义切割格式。

如果是yum安装的nginx,则系统会有一个nginx专门的nginx日志切割文件

# vim /etc/logrotate.d/nginx

配置内容如下:

/var/log/nginx/*.log /data/logs/*.log {
    daily
    dateext
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 640 nginx adm
    sharedscripts
    postrotate
            if [ -f /var/run/nginx.pid ]; then
                    kill -USR1 `cat /var/run/nginx.pid`
            fi
    endscript

}

配置好后,执行切割命令

# logrotate -v /etc/logrotate.d/nginx //-v选项展示切割情况
# logrotate -vf /etc/logrotate.d/nginx  //选项-f强制切割

查看日志切割情况

后续就不用管了,每天系统会定时检查配置文件并自动执行日志切割。

转载于:https://my.oschina.net/u/3954059/blog/3011031

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值