#!/bin/bash
#按日切割nginx日志并压缩,加入crontab每天0:00切割
#作者:fafu_li
#时间:2015.08. source /etc/profile #加载系统环境变量
source ~/.bash_profile #加载用户环境变量
set -o nounset #引用未初始化变量时退出
set -o errexit #执行shell命令遇到错误时退出 PID="/usr/local/nginx/logs/nginx.pid" #pid目录
NGINX="/usr/local/nginx/sbin/nginx"
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) #昨天日期
LOGS_PATH="/data/nginx/logs" #日志目录
server_names=("access_chaoneng") #日志名
server_count=${#server_names[@]} #分割日志
cut_logs(){
local name=$
cd $LOGS_PATH
/bin/mv -f ${name}.log ${name}.${YESTERDAY}.log
#向nginx主进程发送 USR1 信号,USR1 信号是重新打开日志文件
#不然nginx主进程写入的还是移动后的日志文件
#三种方式,根据需求使用任意一种
#service nginx reload
#kill -USR1 $(cat $PID)
$NGINX -s reload
tar zcf ${name}.${YESTERDAY}.log.gz ${name}.${YESTERDAY}.log
rm -rf ${name}.${YESTERDAY}.log
} #循环分割日志
for (( i = ; i < $server_count; i++ )); do
cut_logs ${server_names[$i]}
done

nginx按日分割日志的更多相关文章

  1. nginx按日期分割日志

    #!/bin/bash # Program:chenglee # Auto cut nginx log script. LOGS_PATH="/usr/local/nginx1.13/log ...

  2. nginx分割日志

    实现nginx日志按照时间分割存储 backups_log.sh #设置log日志的存储地址 LOG_PATH=/home/soft/nginx/logs #设置历史日志的存储地址 HISTORY_L ...

  3. 【nginx运维基础(4)】Nginx的日志管理(日志格式与定时分割日志)

    Nginx日志主要分为两种:访问日志和错误日志.日志开关在Nginx配置文件(一般在server段来配置)中设置,两种日志都可以选择性关闭,默认都是打开的. 访问日志access_log #日志格式设 ...

  4. Python 日志处理(一) 按Nginx log_format 分割日志记录

    要求:不使用正则 根据nginx 默认的日志记录格式,分割日志记录. log_format main '$remote_addr - $remote_user [$time_local] " ...

  5. nginx按天切割日志

    原文链接:http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html  本文只节选部分内容 Nginx自己没有日志分割的功能,一旦时间过长 ...

  6. nginx自动切割访问日志

    Web 访问日志 (access_log) 记录了所有外部客户端对Web服务器的访问行为,包含了客户端IP,访问日期,访问的URL资源,服务器返回的HTTP状态码等重要信息. 一条典型的Web访问日志 ...

  7. NGINX按天生成日志文件的简易配置

    NGINX按天生成日志文件的简易配置 0x01 最近后端童鞋遇到一个小需求,拆分nginx生成的log文件,最好是按天生成,看着她还有很多bug待改的状态,我说这个简单啊,我来吧.曾经搞node后端的 ...

  8. Apache按日切分日志

    apache按日切分日志,使用apache自带的rotatelogs切分 语法: rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ fi ...

  9. Nginx正确记录post日志的方法

    Nginx正确记录post日志的方法 事实上可以很简单,这取决于把 access_log 放在哪个 location 里面. 一,放到包含fastcgi_pass或proxy_pass的Locatio ...

随机推荐

  1. Frost & Sullivan权威报告:阿里云再次领跑云WAF大中华区市场

    近日,国际权威分析机构Frost & Sullivan 针对Web应用防火墙(简称“WAF”)领域发布了<2017年亚太区Web应用防火墙市场报告>,阿里云以市场占有率45.8%的 ...

  2. PHP ftp_alloc() 函数

    定义和用法 ftp_alloc() 函数为要上传到 FTP 服务器的文件分配空间. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE. 语法 ftp_alloc(ftp_connectio ...

  3. php linux下安装xml扩展

    1.进入PHP安装源码包,找到ext下的ftp,进入 cd /home/local/php-5.6.25/ext/xml 2./usr/local/php/bin/phpize 3../configu ...

  4. Windows注册表的学习

    什么是注册表 注册表是Windows在Win95/98系统开始引入的一种核心数据库,里面存放着各类的配置信息.参数等.直接控制着系统的启动.硬件的装载以及Winodws程序的运行 手册表的功能 记录用 ...

  5. js设计模式——8.中介者模式

    js设计模式——8.中介者模式 /*js设计模式——中介者模式*/ class A { constructor() { this.number = 0; } setNumber(num, m) { t ...

  6. tp5.1 模型 where多条件查询 like 查询 --多条件查询坑啊!!(tp5.1与tp5.0初始化控制器不一样)

    tp5.1与tp5.0初始化控制器不一样!!!!!!!!!! 多条件 where必须  new where() ---------------------------------------tp5.1 ...

  7. normal use for autotools

    1. remove temporary files, only used for test purpose. ls | sed -e rm -rf 2. edit autogen.sh echo &q ...

  8. awesome mac

    https://proxyman.app/ https://proxie.app/docs/#how-does-it-work https://github.com/kyleduo/TinyPNG4M ...

  9. [已解决]Series object has no attribute explode

    报错代码 s = pd.Series([[1, 2, 3], 'foo', [], [3, 4]]) s 0 [1, 2, 3] 1 foo 2 [] 3 [3, 4] dtype: object s ...

  10. Linux基本知识点

    压缩和解压类 7.8.1 gzip/gunzip 压缩 1.基本语法 gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件) gunzip 文件.gz (功能描述:解压缩文件命令) 2. ...