logrotate实现多站点nginx日志切割

时光6年前未分类1158

nginx日志默认生成在指定的一个文件日志里,久而久之文件会越来越大不利于查看和管理 目前有以下几个方案可以进行nginx日志的切割:

 一、安装修改版本的nginx,可实现日志自动按天记录。不过此方法需要重新编译nginx,不适合现有业务进行操作 

二、配置shell脚本,当前网上最普遍的方法。不过此方法一个脚本只支持一个日志的切割,并不适合多个站点的切割。 多个站点日志切割需要逐个配置域名,相应的有python脚本实现方式,也只是将shell脚本改为python脚本格式。

三、logrotate方式切割日志,系统自动执行,可对日志进行压缩,目前认为是最好的方式。 

#vi  /etc/logrorate.d/nginx 

 配置如下:

 /data/wwwlogs/*nginx.log {   #多个目录可空格隔开 

daily                  #每日执行 

rotate 31           #保留31个日志 

missingok          #跳过不存在的日志 

dateext             #以日期为结尾重命名日志文件 

compress notifempty 

sharedscripts postrotate         #只执行一次下面的脚本 

[ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` 

endscript 

每天执行的时间由cron管理,测试大部分在凌晨3点左右,时间可在/etc/crontab中修改 

 增加59 23 * * * root run-parts /etc/cron.daily即可 

测试命令:/usr/sbin/logrotate -d /etc/logrotate.d/nginx   

 查看分割记录cat /var/lib/logrotate.status

相关文章

SQLServer通过mdf文件恢复数据库

数据库版本:SQLServer2005 因误删数据库ldf文件,导致数据库无法访问。 恢复步骤: 1、临时拷贝mdf数据库文件到其他目录,删除原数据库app 2、重新创建同名数...

帝国CMS忘记后台帐号密码

帐号密码重置方法: 重置帐号为tester ?密码为12346 1.找到phome_enewsuser表 添加一个帐号 username为tester password为...

多域名调用Ueditor配置及上传路径配置

多域名调用Ueditor配置及上传路径配置

1、多域名调用Ueditor的配置: 默认状态下,会出现如(ueditor Protocols, domains, and ports must match.)的跨域访问错误。 修改ueditor...

一次Macbook pro 按键失灵处理记录

自从mac本因为硬盘损坏拿去维修店更换硬盘并重装macos mojave系统,搁置好一段时间才发现左边的shift键、control键、option键、command键失灵了,尝试官网的重置方法都没...

vue打包部署解决页面刷新404的问题

1.Nginx服务器配置: location ^~/vue { alias /data/wwwroot/vue; index index.html; try_files...

CentOS环境PPTP搭建VPN服务器

CentOS环境PPTP搭建VPN服务器

安装包: 1、下载ppp及pptpd安装包: # wget  http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-14....

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。