nginx 日志分割(简单、全面)
Nginx 日志分割
因业务需要做了简单的Nginx 日志分割,
第1章 详细配置如下。
#建议在mkdir /home/shell -p 专门写shell 脚本位置
root@localhost:/home/shell# cat nginxcut.sh
#!/bin/sh
#####
#by xuebao
#2017.05.16
date=`date +%Y%m%d`
nginxlog="/app/logs/nginx/"
/bin/mv ${nginxlog}www_access.log ${nginxlog}access_${date}back.log
/application/nginx/sbin/nginx -s reload
1.1 脚本详解
# data 时间 nginxlog nginx安装路径(可以根据自己环境修改
# ${} 变量的正规表达式
# ` `
#"/app/logs/nginx/" 双引号
括住部分将被视为单一字串 它防止通配符扩展但允许变量扩展
#` date +%Y%m%d ` 倒引号
括住部分为命令 命令执行
# ${} 变量的正规表达式
# 备份命令其中都是引用变量
/bin/mv ${nginxlog}www_access.log ${nginxlog}access_${date}back.log
#重启nginx
/application/nginx/sbin/nginx -s reload
1.2 写入定时任务
注意:写定时任务前一定要给 写的脚本给执行权限 +x
root@localhost:/home/shell# chmod +x /home/shell/nginxcut.sh
root@localhost:/home/shell# vim /etc/crontab
#####nginx cut log #####by xuebao 20170516######
58 23 * * * /bin/sh /home/shell/nginxcut.sh >/dev/null 2>&1
脚本详解
#其中 每天晚上23点58 备份
#全路径执行sh 建议可以先测试
1.3 >/dev/null 2>&1
在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识
0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1
2:表示错误输出(stderr)
command >/dev/null 2>&1 & == command 1>/dev/null
2>&1 &
1)command:表示shell命令或者为一个可执行程序
2)>:表示重定向到哪里
3)/dev/null:表示Linux的空设备文件
4)2:表示标准错误输出
5)&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1
6)&:表示后台执行,即这条指令执行在后台运行
1>/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
2>&1:表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
这条命令的意思就是在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null文件,也就是清空.
所以可以看出"
>/dev/null 2>&1 "常用来避免shell命令或者程序等运行中有内容输出。
nginx 日志分割(简单、全面)的更多相关文章
- logrotate 进行nginx日志分割
http://www.williamsang.com/archives/1254.html 日志分割常用方法: 自己写脚本分割 使用linux自带的logrotate 前者灵活,可以应对各种需求,自定 ...
- nginx日志分割配置实例
Nginx没有类似Apache的cronolog日志分割处理的功能,但是,可以通过nginxNginx的信号控制功能利用脚本来实现日志的自动切割.请看下面的一个实例.Nginx对日志进行处理的脚本: ...
- nginx日志分割总结
nginx日志自己不会进行分个,所有日志都会累积的记录在 access.log,error.log 中,当请求量大,一天就能到几百兆,如果不进行分给,对日志的查看和写入性能都有影响. 1. 编写脚本n ...
- 使用logrotate做nginx日志分割
版权申明:转载请注明出处. 文章来源:http://bigdataer.net/?p=266 背景 nginx是一款非常优秀的网络代理工具,但是其日志管理有点缺憾:nginx的access_log会无 ...
- nginx日志分割小脚本
nginx的日志一直是写在一个文件上面,运行久了之后文件会非常大,因此我们有必要对nginx的日志进行分割: 1 2 3 4 5 6 7 8 9 10 11 #! /bin/bash ACCESS ...
- nginx日志分割及备份
环境:centos7 nginx1.16.1 一.分割及备份的目的 nginx默认将日志信息写在一个文件中,时间一久日志文件中条目越来越多,文件越来越大,不方便查看,备份的时候也不需要备份重复的信息, ...
- nginx日志分割脚本
[root@localhost nginx]# cat logs/nginx.pid 5118[root@localhost nginx]# kill -QUIT 5118-QUIT : 关闭进程-H ...
- nginx 日志分割
利用 crontab + shell 来实现nginx的 access log 按天切割,便于统计.具体实现如下: shell: #! /bin/sh NGINX_DIR=/data/apps/ngi ...
- windows服务器nginx日志分割
编写一个bat文件 @echo off rem @echo off rem 取1天之前的日期 echo wscript.echo dateadd(,date) >%tmp%\tmp.vbs fo ...
随机推荐
- unity插件开发——MenuItem
有unity中的菜单栏是我们经常使用到的地方,如下图: MenuItem的作用就是增加一个自己的菜单 使用方法: 在工程中Assets目录下任意一个Editor目录(以后简称Editor目录,如果不存 ...
- Hibernate原理、配置及单表操作
一.Hibernate的配置文档 其中:hbm2ddl.auto中的create表示每次修改数据的时候都会删除原有的表,生成新的表结构,原有的数据不再存在:update表示在原有数据的基础上进行更新, ...
- HBase应用快速学习
HBase是一个高性能.面向列.可伸缩的开源分布式NoSQL数据库,是Google Bigtable的开源实现. HBase的思想和应用和传统的RDBMS,NoSQL等有比较大的区别,这篇文章从HBa ...
- 【模板】二分图最大权完美匹配KM算法
hdu2255模板题 KM是什么意思,详见百度百科. 总之知道它可以求二分图最大权完美匹配就可以了,时间复杂度为O(n^3). 给张图. 二分图有了边权,求最大匹配下的最大权值. 所以该怎么做呢?对啊 ...
- 关于iOS开发首次进入需要获取地理位置
今天给大家简单介绍一下iOS开发过程中会遇到的获取地理位置的问题,(话不多说进入正题)这里给大家讲解一下两种在APPdelegate获取地理位置的方法: 一:首先是用系统的方法获取地理位置: 1. 首 ...
- Map的迭代
public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Int ...
- 使用live555 在linux下搭建 rtsp server
系统环境 Debian 7 x64 / centos 7 x64 都可以 首先去下载源码 http://www.live555.com/liveMedia/public/live555-lates ...
- html运用以及工具
对于这个教程,我建议你只使用最简单的工具.例如:Notepad(在windows里),TextEdit(在Mac上)或是KEdit(在KDE里)就可以了.一旦你了解这个原理,你就会想要切换到更高级的工 ...
- 简谈-如何使用Python和R组合完成任务
概述 和那些数据科学比赛不同,在真实的数据科学中,我们可能更多的时间不是在做算法的开发,而是对需求的定义和数据的治理.所以,如何更好的结合现实业务,让数据真正产生价值成了一个更有意义的话题. 数据科学 ...
- java 内存管理 —— 《Hotspot内存管理白皮书》
说明 要学习Java或者任意一门技术,我觉得最好的是从官网的资料开始学习.官网所给出的资料总是最权威最知道来龙去脉的.而Java中间,垃圾回收与内存管理是Java中非常重要的一部分.<Hot ...