日志切割
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收集,然后再用脚本定时将日志打包后再传给另外台服务器清洗数据,数据入库并且统计。
数据上报后,会在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代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- 我是运营,我没有假期
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- 网站502与504错误分析
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 修复mysql数据库
- 把Lua编译进nginx步骤方法
- SQLServer 数据导入导出的几种方法小结
- MySQL数据备份之mysqldump的使用详解
- C#实现窗体间传递数据实例
- 给你的数据库文件减肥
- Oracle数据更改后出错的解决方法