千家信息网

linux运维中nginx日志进行轮替的案例

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下linux运维中nginx日志进行轮替的案例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!linux系统上有一个非常好用的轮替服务--logrotate。通过这个服务,
千家信息网最后更新 2026年11月01日linux运维中nginx日志进行轮替的案例

小编给大家分享一下linux运维中nginx日志进行轮替的案例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

linux系统上有一个非常好用的轮替服务--logrotate。通过这个服务,可以对日志文件进行轮替管理。当日志文件过大时,可以对其进行切割成多个小的日志文件,还可以对其进行压缩处理。nginx默认的日志文件access.log以及error.log日志文件,是不会自行进行轮替的。所以,经常会用logrotate对nginx的日志进行轮替管理。

logrotate

对于logrotate这个程序的运行,是挂在系统的定时任务中每日执行的。

# cat /etc/cron.daily/logrotate #!/bin/sh/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status……

下面,我们来看看logrotate的配置文件/etc/logrotate.conf。

# 通过man logrotate查看更多信息# 下面是默认配置weekly <=== 默认一周进行一次轮替操作rotate 4 <=== 默认保存4份日志文件create <==== 当轮替完成后,创建一个新的日志文件dateext <=== 轮替的文件名前加上日期以便管理#compress  <=== 默认对轮替的文件不进行压缩,如果想压缩,就把#去掉#将/etc/logrotate.d目录下的文件加载进来include /etc/logrotate.d# 下面是两个日志文件轮替的规则/var/log/wtmp {  <=== 指定文件名    monthly <=== 一个月进行一次轮替    create 0664 root utmp <=== 新的日志文件权限及所有人,所属组设置 minsize 1M <=== 日志文件至少有1M时候才进行轮替    rotate 1  <=== 只保留一份日志文件}/var/log/btmp {    missingok <=== 如果日志文件不存在,则不报错,直接忽略    notifempty <=== 如果日文文件是空的则不进行轮替    monthly    create 0600 root utmp    rotate 1}

在了解完logrotate的配置文件后,我们就可以自己弄一个日志进行轮替练习了。首先,我们准备一个日志文件

# ll logrotate_learn.log -rwx------ 1 www www 223288003 Nov 12 09:05 logrotate_learn.log

这里,我们最好给该日志文件加上-a属性,只能向其新增内容。

# chattr +a logrotate_learn.log

接下来,我们要思考该日志文件的轮替规则了。这里,我们打算每周进行一次轮替并对轮替的文件进行压缩处理,并且当文件大小超过10M时候才进行轮替,另外,保留7份日志文件。这里,还有一点需要注意的是。因为该文件有a属性,所以轮替前需要将a属性删除,然后在轮替完成后再将a属性加上去。那么,现在我们需要写配置规则了

vim /etc/logrotate.d/logrotate_learn# 轮替练习/root/logrotate_learn.log{    missingok    notifempty    weekly    rotate 7    size=10M    create 0700 www www    compress     sharedscripts    prerotate       /usr/bin/chattr -a /root/logrotate_learn.log    endscript    sharedscripts    postrotate        /usr/bin/chattr +a /root/logrotate_learn.log    endscript}

下面,我们来进行轮替。

# logrotate [-vf] logfile 选项与参数:-v :启动显示模式,会显示logrotate 运作的过程喔!-f :不论是否符合,强制每个日志文件都进行rotate 的动作!# logrotate -v /etc/logrotate.d/logrotate_learn reading config file /etc/logrotate.d/logrotate_learnAllocating hash table for state file, size 15360 B……# ll logrotate_learn.log*-rwx------ 1 www www        0 Nov 12 10:15 logrotate_learn.log-rwx------ 1 www www 20974585 Nov 12 10:15 logrotate_learn.log.1.gz


对nginx日志文件进行轮替管理

学完后如果对日志文件进行轮替管理后,我们现在进入实战练习。

# ll /www/wwwlogs/total 1852452-rwx------ 1 www www    350288 Nov 12 02:50 access.log-rwx------ 1 www www  14016937 Nov 11 22:44 isunshinenet.com.error.log-rwx------ 1 www www 300416647 Nov 11 22:44 isunshinenet.com.log-rwx------ 1 www www         0 Sep 30 09:57 nginx_error.log

我们需要对这四个日志文件进行轮替管理,首先,创建好配置文件。

# 对nginx日志文件进行呢轮替/www/wwwlogs/access.log/www/wwwlogs/nginx_error.log/www/wwwlogs/isunshinenet.com.error.log/www/wwwlogs/isunshinenet.com.log{    missingok    notifempty    daily    rotate 7    size=1M    create 0700 www www    sharedscripts    postrotate if [ -f /www/server/nginx/logs/nginx.pid ];then    /www/server/nginx/sbin/nginx -s reload   fi    endscript}

看完了这篇文章,相信你对linux运维中nginx日志进行轮替的案例有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

文件 日志 管理 配置 属性 规则 案例 维中 文件名 时候 更多 篇文章 系统 处理 服务 接下来 两个 任务 信息 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技金融是不是互联网金融 科技平台互联网 关于新基建和互联网科技 平安科技 互联网 远信互联网科技 迪茉互联网科技 狮子座互联网科技有限公司 易通互联网络科技有限公司 互联网科技小额贷款 衡水科技产业互联网平台 湖南洣水互联网科技有限公司扣款 受益于互联网科技的高速发展 武汉健翔互联网络科技有限公司 互联网媒体平台算高科技产业 佛山市翊博互联网络科技有限公司 美国互联网科技实力 浙南科技城互联网大厦招聘 杭州融税互联网科技有限公司 互联网科技创新创业项目 知域互联网科技有限公司官网 贷财互联网科技 顺网科技2021年互联网排名 海南购全球互联网科技 湖南洣水互联网科技有限公司扣款 济南华为互联网科技产业总部基地 互联网软件和科技 保险科技服务互联网营销体系 神州科技互联网有限公司 上海同邻互联网科技有限公司规模 互联网科技手抄报图片
0