一:日志切割步骤

命令都在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}

  

Nginx日志切割,以及脚本上传nginx的切割日志的更多相关文章

  1. 093实战 Nginx日志切割,以及脚本上传nginx的切割日志

    一:日志切割步骤 命令都在root下进行 1.创建目录 mkdir -p /etc/opt/modules/bin ## 创建文件夹 2.上传cut 3.观察目录 4.修改的cut文件 5.检测 需要 ...

  2. 大数据学习——服务器定期上传nginx日志到hdfs

    需求:按照所学知识完成如下: 服务器定期上传nginx日志到hdfs 提示: Hdfs的创建文件夹命令: Hadoop fs -mkdir /文件夹名称 Hdfs的上传命令: Hadoop fs -p ...

  3. nginx 流媒体 flv 播放 以及上传大小 配置文件设置

    nginx 流媒体 flv 播放 以及上传大小 配置文件设置   server {listen 80;server_name localhost;root /www/web/default;index ...

  4. Jmeter(二十二)_脚本上传Gitlab

    Docker部署接口自动化持续集成环境第四步,代码上传到远程仓库! 接上文:Ubuntu部署jmeter与ant Gitlab在容器中部署好了之后,本地直接打开.我们可以在里面创建项目,上传脚本. 新 ...

  5. 解决Windows下编辑脚本上传到Linux后遇到^M的方法

    Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件-> ...

  6. 【Azure 应用服务】使用PowerShell脚本上传文件至App Service目录  

    问题描述 使用PowerShell脚本上传文件至App Service目录的示例 脚本示例 对文件进行上传,使用的 WebClient.UploadFile 方法进行上传.当文件夹中包含子目录,执行以 ...

  7. [PHP]Nginx与PHP的文件上传大小限制

    ---------------------------------------------------------------------------------------------------- ...

  8. SpringMvc + Jsp+ 富文本 kindeditor 进行 图片ftp上传nginx服务器 实现

    一:html 原生态的附件上传 二:实现逻辑分析: 1.1.1 需求分析 Common.js 1.绑定事件 2.初始化参数 3.上传图片的url: /pic/upload 4.上图片参数名称: upl ...

  9. 对于Nginx+PHP实现大文件上传时候需要修改的参数

    post_max_size表示POST表单提交的最大大小upload_max_filesize 表示文件上传的最大大小. 通常post_max_size设置的值必须必upload_max_filesi ...

随机推荐

  1. 【原】iOS学习39网络之数据请求

    1. HTTP和HTTPS协议 1> URL URL全称是Uniform Resource Locator(统一资源定位符)通过1个URL,能找到互联网上唯一的1个资源 URL就是资源的地址.位 ...

  2. ccc 模拟重力

    x=x+v v=v+gr cc.Class({ extends: cc.Component, properties: { velocity:{ default:null }, grivatity:{ ...

  3. topcoder SRM 624 DIV2 CostOfDancing

    排个序,求前k个元素和即可 int minimum(int K, vector <int> danceCost) { sort(danceCost.begin(),danceCost.en ...

  4. ACM 交换输出

    交换输出 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数.(如果这个第一个数就是最 ...

  5. LinkedHashMap和HashMap的比较使用(转)

    (转)http://www.cnblogs.com/hubingxu/archive/2012/02/21/2361281.html import java.util.HashMap; import  ...

  6. [知识点]Tarjan算法

    // 此博文为迁移而来,写于2015年4月14日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vxnx.html UPD ...

  7. [Cocos2d-x For WP8]矩形碰撞检测

    在游戏中我们通常会涉及到两个精灵之间的碰撞的计算,那么在Cocos2d-x里面我们通常会用矩形碰撞检测来计算两个精灵在运动的过程中是否碰撞到了.原理很简单,就是当运动的时候通过精灵的矩形坐标进行遍历来 ...

  8. Android -- 通知栏的使用

    1. 效果图

  9. 获取jQuery对象的第N个DOM元素 && table常用css样式

    获取jQuery对象的第N个DOM元素 1.$(selector).get(N-1) 2.$(selector)[N-1] 注意:.index()方法返回的是一个数,相当于C#中的IndexOf() ...

  10. Crystal Reports 2008(水晶报表) 第一个报表

    学习Craystal Reports 2008的时候,光看说明文档,很多东西看了就忘了. 我在看文档的时候,是跟着文档上面来做的. 这样边看边做,效果还不错哈 下面就是我的第一个demo 先看看效果: ...