一:日志切割步骤

命令都在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. DataTable过滤重复字段

    有时我们需要从DataTable中抽取Distinct数据,以前总是以对DataTable进行foreach之类纯手工方式获取. 近来发现DataView可以帮我们直接获取Distinct数据,汗一个 ...

  2. java常用

    文件读写几种形式 http://www.cnblogs.com/qianbi/p/3378466.html java的get post请求 http://www.cnblogs.com/zhuawan ...

  3. 纯JavaScripst的全选、全不选、反选 【转】

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Codeforces Round #249 (Div. 2) A. Black Square

    水题 #include <iostream> #include <vector> #include <algorithm> using namespace std; ...

  5. ACM 找点

    找点 时间限制:2000 ms  |  内存限制:65535 KB 难度:2   描述 上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点.但是这几天LYH太忙了,你 ...

  6. ACM: 继续畅通工程-并查集-最小生成树-解题报告

    继续畅通工程 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Descri ...

  7. 7zip ubuntu使用

    http://www.cnblogs.com/yiwd/p/3649094.html 安装: sudo apt-get install p7zip 解压: 7zr x file -r -o./path ...

  8. 整理iOS9适配

    整理iOS9适配 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版, ...

  9. struts2中用xml配置文件去验证填写信息

    xml名字是这样的 actionName-validation.xml 每个action 对应一个xml文件 xml文件和action放在同一个包下 后台验证用户输入是否符合格式要求,不符合,提交后返 ...

  10. JAVA集合迭代遍历和特性介绍

    数组.集合:都是一种容器,用一个对象管理多个对象:数组不能自动增长:只能存放同类型的元素 集合能自动扩容:部分集合允许存放不同类型的元素: 1.List: 有顺序的,允许存放重复的元素: 遍历:for ...