093实战 Nginx日志切割,以及脚本上传nginx的切割日志
一:日志切割步骤
命令都在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}
093实战 Nginx日志切割,以及脚本上传nginx的切割日志的更多相关文章
- Nginx日志切割,以及脚本上传nginx的切割日志
一:日志切割步骤 命令都在root下进行 1.创建目录 mkdir -p /etc/opt/modules/bin ## 创建文件夹 2.上传cut 3.观察目录 4.修改的cut文件 5.检测 需要 ...
- 大数据学习——服务器定期上传nginx日志到hdfs
需求:按照所学知识完成如下: 服务器定期上传nginx日志到hdfs 提示: Hdfs的创建文件夹命令: Hadoop fs -mkdir /文件夹名称 Hdfs的上传命令: Hadoop fs -p ...
- nginx 流媒体 flv 播放 以及上传大小 配置文件设置
nginx 流媒体 flv 播放 以及上传大小 配置文件设置 server {listen 80;server_name localhost;root /www/web/default;index ...
- Jmeter(二十二)_脚本上传Gitlab
Docker部署接口自动化持续集成环境第四步,代码上传到远程仓库! 接上文:Ubuntu部署jmeter与ant Gitlab在容器中部署好了之后,本地直接打开.我们可以在里面创建项目,上传脚本. 新 ...
- 解决Windows下编辑脚本上传到Linux后遇到^M的方法
Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件-> ...
- 【Azure 应用服务】使用PowerShell脚本上传文件至App Service目录
问题描述 使用PowerShell脚本上传文件至App Service目录的示例 脚本示例 对文件进行上传,使用的 WebClient.UploadFile 方法进行上传.当文件夹中包含子目录,执行以 ...
- [PHP]Nginx与PHP的文件上传大小限制
---------------------------------------------------------------------------------------------------- ...
- Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx
第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...
- SpringMvc + Jsp+ 富文本 kindeditor 进行 图片ftp上传nginx服务器 实现
一:html 原生态的附件上传 二:实现逻辑分析: 1.1.1 需求分析 Common.js 1.绑定事件 2.初始化参数 3.上传图片的url: /pic/upload 4.上图片参数名称: upl ...
随机推荐
- Linux - rm 修复误删文件
fdisk -l # 分区信息lsblk -f # 查看文件类型/etc/fstab # 查看文件格式挂载启动信息 # debugfs针对 ext2 # ext3grep针对 ext3 # extun ...
- WEB 服务器 加速缓存比较
Nginx 相对 Apache httpd 的优点: - 轻量级,同样起web 服务,比apache 占用更少的内存及资源 - 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的 ...
- pyqt5-多线程QThread类
要实现多线程,我们要先继承QThread类并重新实现其中的run()函数,也就是说把耗时的操作放入run()函数中 import sys from PyQt5.QtCore import Qt, QT ...
- 第17月第28天 python yield
1. class Fab(object): def __init__(self, max): self.max = max self.n, self.a, self.b = 0, 0, 1 def _ ...
- python - 远程主机执行命令练习(socket UDP + subprocess.Popen()) 练习1
环境是windows 环境. server端: import socket import subprocess ss = socket.socket(socket.AF_INET,socket.SOC ...
- freemark简单事例
工作准备:开发环境myeclipse freemarker.jar(需要下载) 首先引入freemarker.jar包.然后,,,,直接贴代码: 1.创建一个FreemarkerUtil类: pack ...
- 【shell】查找后拷贝find . -name *.csv -exec cp {} /home/ \;
Find命令的一般形式为: find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname: find命令所查找的目录路径.例如用.来 ...
- Python3学习笔记11-循环语句
条件判断使用if,需要加上冒号,当条件判断为True时,执行if下的代码块,为false就什么也不做 只要var1不是0,非空字符串,非空list等,就判断为True.否则为False var1 = ...
- sqlyog通过跳板机ssh连接mysql数据库
方法一: 方法二: 在跳板机上启动sh脚本做ssh端口转发,客户端配置连接 10.0.0.1的8306端口即可 jdbc:mysql://10.0.0.1:8306/testdb?useUnicode ...
- 编译安装lamp环境
httpd 2.4.9 + mysql-5.5.33 + php-5.4.29编译安装过程: 准备好以下安装包: mysql-5.5.33-linux2.6-x86_64.tar.gz apr-uti ...