nginx自己写日志切割脚本

nginx不像apache一样有切割功能 得自己创建切割脚本

比如我们放在并命名/usr/loal/nginx/sbin/nginxlog.sh

最后我们要做压缩 因为日志可能有些大

脚本如下:
d = date -d “-1 day” +%F
[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_log
mv /tmp/access.log /tmp/nginx.log/$d.log
/etc/init.d/nginx reload 2> /dev/null
gzip -f $d.log

解释:
d= `date -d “-1 day” +%F:代表昨天的
[-d /tmp/nginx_log] || mkdir /tmp/nginx_log:首先判断nginx_log是否存在 如果不存在则去创建它。这里的||是或者的意思,只执行左右一条成功的命令
mv /tmo/access.log /tmp/nginx.log/$d.log:代表把 产生的日志文件 放到nginx.log下
/usr/local/nginx/sbin/nginx -s reload > /dev/null:重新加载nginx是要求把日志文件重新生成代表把输出的信息放到dev/null下
cd /tmp/nginx_log/ cd到nginx_log下
gzip -f $d.log 给这个日志做压缩 -f是强制性的

时间: 2024-11-03 20:04:39

nginx自己写日志切割脚本的相关文章

nginx日志切割脚本分享_linux shell

实现方法一 #!/bin/bash Logs_path="/data/Application/nginx/logs" Pid_path="/data/Application/nginx/nginx.pid" Month=`date +%Y-%m` Date=`date +%Y-%m-%d` Time=`date +%H` WaitTime=$((24*60*60)) LogCut() { cd $Logs_path mkdir -p $Month while tru

nginx实用的日志分析脚本

nginx日志分析脚本:  代码如下 复制代码 vi /mnt/logs/checklog.sh #!/bin/bash echo -e  "####################`date +%F`" >> /mnt/logs/400.txt echo -e  "####################`date +%F`" >> /mnt/logs/URL.txt echo -e  "####################`

nginx多server日志分割脚本分享_linux shell

1,配置多个server日志只要在$website变量增加并用空格分开就行.2,循环创建日志目录3,分割后用xz 压缩,当然没安装可以用gzip bzip2等等.4,注意我配置nginx日志文件名为 "access_{{站点网站}}.log" "error_{{站点网站}}.log" 复制代码 代码如下: # !/usr/bin/bashlog_dir="/usr/local/nginx/logs"back_log_dir="/disk

MySQL 数据库日志切割脚本

出处: http://netkiller.github.io/    Bash代码   #!/bin/bash   USER=backup   PASS=SaJePoM6BAPOmOFOd7Xo3e1A52vEPE   LOGDIR="/tmp/backup"   DATADIR="/var/lib/mysql"   LOG=mysql.log   LOG_ERROR=mysql_error.log   LOG_SLOW_QUERIES=slow.log   SOC

centos中Tomcat日志切割(logrotate)

logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储.邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日任务执行.自动有了logrotate,我想不用再自己写日志切割脚本.如下对Tomcat日志catalina.out日志切割 # ls -lh /usr/local/tomcat/logs/catalina.out -rw-r--r-- 1 www www 14M Aug 28 15:55 /usr/

nginx日志切割shell脚本_linux shell

一.脚本思路 第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志.在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件. 第二步向nginx主进程发送USR1信号. nginx主进程接到信号后会从配置文件中读取日志文件名称,重新打开日志文件(以配置文件中的日志名称命名),并以工作进程的用户作为日志文件的所有者. 重新打开日志文件后,nginx主进程会关闭重名的日志文件并通知工作进程使用新打开的日志文件.

简单的Nginx切割网站日志的脚本

今天在网上查阅Nginx的相关的优化,看到一篇关于Nginx切割日志的文章 于是自己设置了下,开始没生效,后来结果是我设置的路径有问题. 正常的Nginx的日志文件路径是在/usr/local/nginx/logs/ 因为用的Lnmp一键配置环境,所以日志的路径为/home/wwwlogs/ 脚本如下: #nginx日志切割脚本 #!/bin/bash #设置日志文件存放目录 logs_path="/home/wwwlogs/" #设置pid文件 pid_path="/usr

linux下通过shell脚本对tomcat和nginx做日志切割

线上服务器一般都会遇到各种各样的日志切割.之前一直没有发布类似详细脚本文章,这次就弥补下网站相关内容.万变不离其宗,下边简单讲解一下两个日志切割,其他服务日志的切割也可以这样实现. Tomcat日志catalina.out切割小脚本: #!/bin/bash #cut tomcat catalina.out yesterday=`date  +"%F" -d  "-1 days"` cd /usr/local/tomcat7.0.70/log cp catalina

Nginx日志分割切割脚本分享

先直接放日志分割切割脚本  代码如下 复制代码 #!/bin/bash #set the path to nginx log files log_files_path="/home/wwwlogs/" log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m") #set nginx log