您的位置:首页 > 运维架构 > Nginx

日志切割

2015-08-28 16:53 465 查看
数据收集大多数都是通过http协议上报到服务器然记录到日志。

目前在公司是使用nginx收集,然后再用脚本定时将日志打包后再传给另外台服务器清洗数据,数据入库并且统计。

数据上报后,会在nginx的logs目录下生成access.log文件,我们每小时压缩一次这个文件并传给其他服务器处理,脚本如下:

#!/bin/bash

#设置日志文件存放目录

logs_path="/usr/local/nginx/logs/"

#设置pid文件

pid_path="/usr/local/nginx/logs/nginx.pid"

#重命名日志文件

mv ${logs_path}access.log ${logs_path}access_$(date +"%Y%m%d%H").log

#向nginx主进程发信号重新打开日志

kill -USR1 `cat ${pid_path}`

#将日志打包

cd ${logs_path}

tar -zcvf access_$(date +"%Y%m%d%H").tar.gz access_$(date +"%Y%m%d%H").log --remove-files

#日志传给其他服务器

rsync -zvr --bwlimit=2000  ${logs_path}access_$(date +"%Y%m%d%H").tar.gz root@111.111.111.111:/usr/local
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx 数据