资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
logrotate 进行 nginx 日志分割日志分割常用方法:自己写脚本分割使用 linux 自带的 logrotate前者灵活,可以应对各种需求,自定义文件夹、文件名。后者配置简单,使用方便。下面我们以分割 nginx 日志为例介绍一下使用 logrotate 分割日志实例。logrotate 简单介绍 Rlogrotate 使用 cron 按时调度执行,日志的执行过程原理为不断改名称:比如你有个 access.log 文件,需要保留 4 个日志文件,那么 logrotate 是这么轮转的:access.log 满足轮转条件?(调度时间,日志大小是否满足要求)如果需要轮转则进行下列步骤,否则跳过access.log.3 存在?如果存在则删除access.log.2 如果存在则改名为 access.log.3access.log.1 如果存在则改名为 access.log.2access.log 如果存在则改名为 access.log.1创建一个空的 access.log 文件如下图所示:logrotate 配置文件一般在:/etc/logrotate.conf 通用配置文件,可以定义全局默认使用的选项。/etc/logrotate.d/xxx 自定义服务配置文件我们可以看下/etc/logrotate.conf 里面的内容1234567# 一个星期轮转一次weekly#保留四个日志rotate 4# 轮转旧的日志文件后创建新日志文件create# 使用日期作为轮转日志的后缀891011121314151617181920212223dateext# 压缩存储日志#compress# 包含某个目录下的自定义日志轮转include /etc/logrotate.d# no packages own wtmp and btmp - well rotate them here/var/log/wtmp monthlycreate 0664 root utmpminsize 1Mrotate 1/var/log/btmp missingok24252627monthlycreate 0600 root utmprotate 1我们新建一个/etc/logrotate.d/nginx 来分割 nginx 日志,配置文件内容如下:123456789/data/logs/nginx/access/access.log /data/logs/nginx/access/default.log dailyrotate 15minsize 10Msharedscriptspostrotate/usr/local/server/nginx/sbin/nginx -s reloadendscript第一行:指明日志文件位置,多个以空格分隔第二行:调用频率,有:daily,weekly,monthly 可选第三行:总共轮换多少个日志文件,这里为保留 15 个第四行:限制条件,大于 10M 的日志文件才进行分割,否则不操作sharedscripts 用于指明以下是执行轮转前和轮转后自定义执行的命令,比如 postrotate 和 endscript 表示,轮转后,执行 nginx 的重新加载配置文件,避免日志轮转后不写日志。如果要轮转前执行某个命令可以使用 prerotate 代替postrotate 即可,两者可同时存在。可以通过 man logrotate 查看更多选项默认 logrotate 是通过 crontab 定期执行的,我们也可以手动执行查看结果:# logrotate -vf /data/log/nginx/access.logv 选项表示查看详细执行过程f 表示强制执行日志轮转(不然时间不到,日志文件大小等条件不满足,不会执行)强烈建议执行一下,了解下执行过程。验证是否执行,查看 cron 的日志即可# grep logrotate /var/log/cron
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号