zoukankan      html  css  js  c++  java
  • 093实战 Nginx日志切割,以及脚本上传nginx的切割日志

    一:日志切割步骤

    命令都在root下进行

    1.创建目录

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

    2.上传cut

      

    3.观察目录

      

    4.修改的cut文件

      

     5.检测

      需要保证nginx已经开启

      

    6.效果

      

    7.定时

      

     二:切割程序

    1.脚本

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

     三:nginx日志脚本的上传

    1.上传脚本

      

    2.修改脚本

      

    3.运行

      

     4.效果

      

    四:上传到HDFS的脚本

     1 #!/bin/bash
     2 
     3 #step1:get yesterday format string
     4 # 昨日的日期
     5 yesterday=$(date --date='1 days ago' +'%Y/%m/%d')
     6 
     7 #step2:upload logs to hdfs
     8 # 老日志的存储地方linux的路径
     9 LOGS_PATH=/usr/local/nginx/userlogs/logs/
    10 # hdfs日志存储路径
    11 HDFS_LOGS_PATH=/eventlogs/${yesterday}
    12 
    13 # 当执行命令的用户不是hdfs的有权限的操作时候的时候,需要下面这个命令
    14 export HADOOP_USER_NAME=beifeng
    15 # 创建hdfs路径
    16 
    17 HADOOP_HOME=/etc/opt/modules/hadoop-2.5.0
    18 ${HADOOP_HOME}/bin/hdfs dfs -mkdir -p ${HDFS_LOGS_PATH}
    19 # hdfs命令移动
    20 ${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}

      

  • 相关阅读:
    Java安装以及环境变量配置
    IPython绘图和可视化---matplotlib
    Tensorboard可视化(关于TensorFlow不同版本引起的错误)
    Tensorboard可视化
    关于Tensorflow安装opencv和pygame
    perl将json转换成xml
    cnblogs终于把以前内容的管理权还给我了~
    final评论2
    final评论1
    psp
  • 原文地址:https://www.cnblogs.com/juncaoit/p/6210033.html
Copyright © 2011-2022 走看看