linux运维中nginx日志进行轮替的案例
发表于:2025-02-10 作者:千家信息网编辑
千家信息网最后更新 2025年02月10日,小编给大家分享一下linux运维中nginx日志进行轮替的案例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!linux系统上有一个非常好用的轮替服务--logrotate。通过这个服务,
千家信息网最后更新 2025年02月10日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安全错误
数据库的锁怎样保障安全
数通产品 软件开发工程师
维森瑞网络技术
宿州网络安全论坛
分布式空间数据库名词解释
软件开发类名片
本次网络安全培训
软件开发是应税行为吗
误删数据库找回来
ibm服务器u启动教程
数据库关系图是e-r图吗
jdbc数据库应用程序
数据库安全审计内容和机制
网络安全教育考试2020
数据库和服务器有联系吗
奉贤区数据软件开发答疑解惑
成都仓储生鲜软件开发
锁冲突落到数据库
信息网络技术职业资格证书
中国网络安全认可体系
ifix中数据库标签定义
爱佰互联网科技
敢达争锋对决服务器关闭
服务器系统里都安装什么软件
甘特图 软件开发计划
英语教学软件开发北京
网络安全应对手段论文
泰拉瑞亚国服可以开服务器吗
中职计算机网络技术书籍答案
网络安全法三百道题
qt 清空文件中的数据库