一:日志切割步骤

命令都在root下进行

1.创建目录

  mkdir -p /etc/opt/modules/bin ## 创建文件夹

2.上传cut

  

3.观察目录

  

4.修改的cut文件

  

5.检测

  需要保证nginx已经开启

  

6.效果

  

7.定时

  

二:切割程序

1.脚本

 #!/bin/bash

 # nginx日志存储的linux路径
LOGS_PATH="/usr/local/nginx/userlogs/" # 旧日志存储的linux路径
OLD_LOGS_PATH=${LOGS_PATH}logs/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/$(date -d "yesterday" +"%d")/ # 创建就日志存储的linux目录, -p如果文件夹存在,不报错
mkdir -p ${OLD_LOGS_PATH} # 移动日志文件,nginx的log模块,记录的是文件的句柄,移动文件文件的句柄不会发生变化
mv ${LOGS_PATH}access.log ${OLD_LOGS_PATH}access_$(date -d "yesterday" +"%Y%m%d_%H%M%S").log # 关闭nginx服务器,并重启
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

三:nginx日志脚本的上传

1.上传脚本

  

2.修改脚本

  

3.运行

  

4.效果

  

四:上传到HDFS的脚本

 #!/bin/bash

 #step1:get yesterday format string
# 昨日的日期
yesterday=$(date --date='1 days ago' +'%Y/%m/%d') #step2:upload logs to hdfs
# 老日志的存储地方linux的路径
LOGS_PATH=/usr/local/nginx/userlogs/logs/
# hdfs日志存储路径
HDFS_LOGS_PATH=/eventlogs/${yesterday} # 当执行命令的用户不是hdfs的有权限的操作时候的时候,需要下面这个命令
export HADOOP_USER_NAME=beifeng
# 创建hdfs路径 HADOOP_HOME=/etc/opt/modules/hadoop-2.5.
${HADOOP_HOME}/bin/hdfs dfs -mkdir -p ${HDFS_LOGS_PATH}
# hdfs命令移动
${HADOOP_HOME}/bin/hdfs dfs -put -f -p ${LOGS_PATH}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/$(date -d "yesterday" +"%d")/access_*.log ${HDFS_LOGS_PATH}

  

最新文章

  1. iOS多线程之2.NSThread的加锁@synchronized
  2. 安卓TabHost页面
  3. css position:absolute 如何居中对齐
  4. 反编译CHM文件
  5. Jena Fuseki 102
  6. delphi android 录像(调用Java的功能)
  7. Linux进程间通信-信号
  8. Does not contain a valid host:port authority: Master:8031 (configuration property 'yarn.resourcemanager.resource-tracker.address')
  9. http://blog.csdn.net/dyllove98/article/details/7706218
  10. WordPress特制字符串URL重定向限制绕过漏洞
  11. Java与.net的区别delegate和event
  12. ArcGIS字段计算器分割字段中的字符串
  13. Docker进阶之九:Dockerfile 及 通过Dockerfile搭建lnmp
  14. Exchange Server and Update Rollup Build Numbers
  15. leetcode题解 Generate Parentheses
  16. 在ListView中添加EditText丢失光标问题解决
  17. Python+Selenium笔记(十二):数据驱动测试
  18. PHP菜刀工具WebHandler
  19. 组件Slate教程 & UMG widget构造初始化函数中获取其内部组件
  20. Missing artifact com.sun:tools:jar:1.5.0解决的方法

热门文章

  1. MFC中添加了一个dialog,并创建了相应的类,初始化函数没有怎么办?
  2. JavaScript动态修改CSS
  3. Python2和Python3中print的不同点
  4. Activity生命周期函数、onSaveInstanceState()和onRestoreInstanceState()的介绍
  5. js代码解析原则
  6. 关于 MVCC 的基础【转】
  7. gunicorn+flask使用与配置
  8. mysql安装与卸载(非绿色版)
  9. ubuntu 14.04 上配置vlc组播源
  10. 利用jstack命令定位占用cpu高的java线程及具体错误代码信息