nginx日志分割小脚本

nginx的日志一直是写在一个文件上面,运行久了之后文件会非常大,因此我们有必要对nginx的日志进行分割:

1

2

3

4

5

6

7

8

9

10

11

#! /bin/bash

ACCESS_LOG=/data/nginx/www.log

ERROR_LOG=/data/nginx/error.log

YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

#mv logs

echo "move log files"

mv ${ACCESS_LOG} /data/logs/nginx/www.log-${YESTERDAY}

mv ${ERROR_LOG} /data/logs/nginx/error-log-${YESTERDAY}

echo "reopen log files"

kill -USR1 $(cat /data/nginx/nginx.pid)

echo "done"

上面代码有几个地方的变量需要读者们改成自己相关的设置。最关键是kill –USR1 重启相关日志,但是进程并不会重启。

在crontab -e中输入如下命令来每周运行一次

1

0       1       *       *       1       /data/nginx/nginx-log.sh

nginx日志分割小脚本

时间: 2024-10-16 20:37:16

nginx日志分割小脚本的相关文章

nginx日志分割脚本

nginx 日志分割,可以分割一年内没有分割的日志,以每天一个日志文件打包 转载请注明出处:http://lm3810.blog.51cto.com/846925/1860543 #!/bin/bash #hls_nginx_log_cut.sh #by Louis 2016/10/10 logs_path='/data/store/logs/www/' #日志文件所在路径 files=`ls $logs_path` backup_path='/data/store/backuplogs/' #

nginx 日志分割(简单、全面)

Nginx 日志分割 因业务需要做了简单的Nginx 日志分割, 第1章 详细配置如下. #建议在mkdir  /home/shell  -p 专门写shell 脚本位置 [email protected]:/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_ac

nginx日志切割shell脚本

#!/bin/bash #function:cut nginx log files shell #cp /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log.bak log_cut_path="/var/log/nginx" log_files_path="/usr/local/nginx/logs/" log_files_dir=${log_cut_path}$(date -d &quo

nginx 日志轮询脚本

nginx 日志轮询脚本      nginx 没有自带日志轮询功能, 这个脚本必须配合crontab来实现日志的按天轮询.生产环境使用下还是很靠谱和方便,推荐给大家使用.  里面具体的内容大家自己看把有点shell基础就能明白的.  crontab -e 00 08 * * * /bin/bash /opt/scripts/BackupNginxLog.sh BackupNginxLog.sh #!/bin/bash LogPath=/usr/local/logs_nginx BackupPa

nginx日志分割处理以及分析

在很多时候,我们会非常关注网站的访问量,比如网站的日PV是多少.网站某个功能上线之后点击量是多少,像这些东西都是需要从web容器中的访问日志统计出来的,下面我们看一下如何在nginx中统计网站的访问信息 1.设置Nginx访问日志记录格式 在默认情况下,nginx只是记录相关get信息,像post页面是不记录的,所以下面需要修改nginx.conf,让其访问日志记录post等请求信息,在nginx.conf中server段中加入如下信息 log_format  access  '$remote_

nginx日志分割:windows和linux

一.为什么对日志进行分割. 1.nginx日志默认情况下统统写入到一个文件中,文件会变的越来越大. 2.单个的日志文件非常不方便查看分析. 二.简析日志分割. 不论是windows还是linux,对日志的分割都是一条思路.即: 1.对现有日志文件进行重命名. 2.生成新的日志文件. 3.定制脚本,定时执行. 三.日志分割实操. windows系统: 1.logcut.bat #定义时间(年月日) for /f "tokens=1 delims=/ " %%j in ("%da

nginx日志定期归档脚本

#!/bin/bash #nginx下域名access日志切割归档脚本 YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) #==================================================Definition array==================================================== catalogue=(         www_logs         service_l

Nginx日志分割处理

一.配置nginx日志 location /html/ {         root  /home/web;         index  index.html index.htm;         access_log  /var/log/nginx/ad-access.log_pipe  ad_access; } ad_access:为配合日志格式. 先创建管道:mkfifo /var/log/nginx/ad-access.log_pipe 启动cronolog: nohup cat /v

nginx 日志分割脚本

#!/bin/bash # 01 00 * * * /nginxlogs/ngx_logcut.sh  >/dev/null 2>&1   ##可以放到计划任务里自动执行脚本 pidfile=/var/run/nginx.pid      #nginx进程pid文件 logpath='/nginxlogs/'            #日志目录 keepdays=30                       #日志保存天数 logfiles=(error.log access.log