logrotate实现多站点nginx日志切割

时光5年前未分类1186

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

相关文章

PDF文件转FLASH

PDF文件转FLASH

推荐一款非常实用的PDF转FLASH软件:PDF_to_Flash_Converter,可将PDF文件转换成翻书效果的FLASH,并自动生成网页文件,避免用户直接下载PDF文件,实现PDF文档在线阅读...

position:fixed 不兼容IE的解决方法

/**for FF/Chrome**/ .fix{ position:fixed; top:100px; left:200px; } /**for IE8、7、6**/ .ie-fi...

OSA安装过程中提示运行“install/auto_prepare.sh”安装错误

OSA安装过程中提示运行“install/auto_prepare.sh”安装错误

对于OSA安装过程中进行到如下步骤要求运行install/auto_prepare.sh 按提示在中断运行install/auto_prepare.sh后提示以下错误 instal...

PHP正则去除图片链接

输入正文$text,使用正则替换后去除<a></a>标签。 代码如下: $pattern = "/(<a[^>]+>)(<img[^>]+...

Ubuntu系统下的Mysql数据库自动备份

Ubuntu系统下的Mysql数据库自动备份

1、SSH远程连接至数据库服务器 2、登录Mysql数据库,创建备份用户帐号并赋予权限 切换目录:cd /usr/bin/ 连接MYSQL数据库(帐号root 密码123456):m...

LINUX文件权限的认识

LINUX文件权限的认识

1.Linux文件权限采用UGO模式控制,即U(用户)、G(组)、O(其他); 权限分为: R 表示read,可读。对应十进制数4,即2? W 表示write,可写。对应十进制数2,即2?。...

发表评论    

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