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 日志分割(简单、全面)的更多相关文章

  1. logrotate 进行nginx日志分割

    http://www.williamsang.com/archives/1254.html 日志分割常用方法: 自己写脚本分割 使用linux自带的logrotate 前者灵活,可以应对各种需求,自定 ...

  2. nginx日志分割配置实例

    Nginx没有类似Apache的cronolog日志分割处理的功能,但是,可以通过nginxNginx的信号控制功能利用脚本来实现日志的自动切割.请看下面的一个实例.Nginx对日志进行处理的脚本: ...

  3. nginx日志分割总结

    nginx日志自己不会进行分个,所有日志都会累积的记录在 access.log,error.log 中,当请求量大,一天就能到几百兆,如果不进行分给,对日志的查看和写入性能都有影响. 1. 编写脚本n ...

  4. 使用logrotate做nginx日志分割

    版权申明:转载请注明出处. 文章来源:http://bigdataer.net/?p=266 背景 nginx是一款非常优秀的网络代理工具,但是其日志管理有点缺憾:nginx的access_log会无 ...

  5. nginx日志分割小脚本

    nginx的日志一直是写在一个文件上面,运行久了之后文件会非常大,因此我们有必要对nginx的日志进行分割:   1 2 3 4 5 6 7 8 9 10 11 #! /bin/bash ACCESS ...

  6. nginx日志分割及备份

    环境:centos7 nginx1.16.1 一.分割及备份的目的 nginx默认将日志信息写在一个文件中,时间一久日志文件中条目越来越多,文件越来越大,不方便查看,备份的时候也不需要备份重复的信息, ...

  7. nginx日志分割脚本

    [root@localhost nginx]# cat logs/nginx.pid 5118[root@localhost nginx]# kill -QUIT 5118-QUIT : 关闭进程-H ...

  8. nginx 日志分割

    利用 crontab + shell 来实现nginx的 access log 按天切割,便于统计.具体实现如下: shell: #! /bin/sh NGINX_DIR=/data/apps/ngi ...

  9. windows服务器nginx日志分割

    编写一个bat文件 @echo off rem @echo off rem 取1天之前的日期 echo wscript.echo dateadd(,date) >%tmp%\tmp.vbs fo ...

随机推荐

  1. Java内存泄露实例

  2. 存储linux RAID6被重建成RAID5的数据恢复解决方案

    数据恢复故障描述:原存储为12块2T硬盘组成的Linux RAID6,文件系统均为EXT3,此存储上划有3个LUN,每个均为6TB大小,某天在RAID失效后,维护人员为了抢救数据,对此失效的存储重进行 ...

  3. 手机自动化测试:appium源码分析之bootstrap十五

    手机自动化测试:appium源码分析之bootstrap十五   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  4. Android开发 旋转屏幕导致Activity重建解决方法(转)

     文章来源:http://www.jb51.net/article/31833.htm Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何“ ...

  5. Linux命令的复习总结学习

    1.-------------------------linux系统介绍------------------------------------------------------- Linux是一套 ...

  6. QQ_SingleTalkClient

    package test_teacher;import java.io.*;import java.net.*;public class SingleTalkClient{    public sta ...

  7. opencv构建高斯卷积核

    关于高斯核函数可以参见阮一峰老师的日志:高斯模糊的算法 如何使用高斯核进行高斯模糊可以参见我的另一篇日志:opencv构建自定义卷积 Mat Gaussian_kernal(int kernel_si ...

  8. 基于51单片机IIC通信的AT24C02学习笔记

    引言 最近在学习几种串行通信协议,感觉收获很多,这篇文章是学习IIC总线协议的第一篇文章,以后还会再写一篇关于PCF8591 IIC通信的ADDA转换芯片的文章. 关于IIC总线 IIC 即Inter ...

  9. angular 自定义filter

    用modul.filter .filter("fiilterCity",function(){ return function(obj){ var newObj = []; ang ...

  10. 【DevExpresss】3、LookUpEdit详解(转载)

    [DevExpresss]3.LookUpEdit详解 哈,今天又用到了LookUpEdit控件,主要是用来实现模糊查询和自由输入功能,然而由于长时间没用了,一阵手忙脚乱的,这里把网上收集的一部分教程 ...