nginx下日志切割的shell

#!/bin/bash

mkdir  -p   /data01/nginx_log/$(date +%Y%m%d)

cp   /data01/nginx_log/access.log    /data01/nginx_log/$(date +%Y%m%d)/access-$(date +%Y%m%d).log

#先复制原来的正常访问日志

cat /dev/null > /data01/nginx_log/access.log

#清空原来的正常访问日志

cp   /data01/nginx_log/error.log    /data01/nginx_log/$(date +%Y%m%d)/error-$(date +%Y%m%d).log

#先复制原来的错误日志文件,请根据自己实际的日志路径填写

cat /dev/null > /data01/nginx_log/error.log

#清空错误日志文件

#删除7天前的数据

find /data01/nginx_log/  -mtime +7 -exec rm -rf {} \;

时间: 2024-10-13 19:44:15

nginx下日志切割的shell的相关文章

Nginx的访问日志、Nginx的日志切割、Nginx静态文件不记录日志和过期时间

Nginx的访问日志 Nginx的日志切割 Nginx静态文件不记录日志和过期时间 原文地址:http://blog.51cto.com/13515599/2086909

shell脚本:nginx访问日志切割与打包上传

脚本功能: 日志切割类脚本,包含:nginx的访问日志.网关设备.AC设备.认证信息等等日志,都通过ftp上传到相应的服务器进行保存. --------------- #!/bin/bash # Cut and upload nginxlog # by colin # revision on 2016-02-22 ######################################## # 功能说明:该脚本运用于切割与上传nginxlog # # 更新说明: # ############

线上nginx访问日志切割脚本

1.说明 随着时间的增加,nginx 的访问日志会越来越大,下图是新部署的线上 zabbix 监控网站运行了十几天左右产生的访问日志达到213M. 所以必须进行日志分割,要求如下: 1.每天的日志单独生成一个文件 2.保留30天的访问日志 2.编写脚本 vim /usr/local/nginx/logs/nginx_log_rotate.sh #! /bin/bash logs_path="/usr/local/nginx/logs/" log_name="access.lo

nginx的日志切割

手动切割: 手动切割只需要两个1:备份,2新开 找到日志生成目录将原来的日志移动备份 , 1:mv acess.log 20170324.log 2:找到master process 的主进程号码,ps -ef | grep nginx 3:新建access.log kill -USR1 主进程号码 脚本切割: 新建脚本cutlog.sh p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #454545

logstash 2.2以上版本,nginx 错误日志切割

网上nginx错误日期切分的版本各式各样,能用的没几个,踩过很多坑,特意记录下: if [type] == "xx_app_nginx_error_log" { grok { patterns_dir => "/etc/logstash/conf.d/patterns" match => { "message" => "%{NGINXERROR_1}" } } mutate { #避免日期报错 gsub =&

nginx配置日志切割

1.新建脚本文件 vim /usr/local/sbin/nginx_logrotate.sh #!/bin/bash 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 > /dev/null cd /tmp/nginx_log/ gzip -f $d.log

tomcat日志切割脚本shell

tomcat-rotate.sh: #!/bin/bash log_path="/home/tomcat7-api/logs/"expried_time=7 function delete_log() { local currentDate=`date +%s` for file in find $1 -name "*.log" -o -name "*.txt" do local name=$file local modifyDate=$(sta

nginx之自动日志切割--请注意这里不是脚本

之前安装 nginx 都是自己编译安装,然后打成 rpm 包.换了一个新公司之后,发现服务器的 nginx 都是 yum 安装的,这也没什么问题,业务量不大. 之后我发现在 nginx 的日志存储目录下,日志都被切割了,这很正常,但是经过我查看,在 crontab 下面并没有脚本文件进行 nginx 的日志切割,这 使我有点摸不到头脑,以我之前的观念都是脚本进行日志切割,然后放到定时任务中按天执行. 之后搜索了网上的文章,找到了切割 nginx的日志是一个服务执行的 服务名: logrotate

Nginx日志切割,无缝升级

概述: nginx中有两种比较常用的日志文件,访问日志access.log和错误日志error.log,访问日志记录了客户端访问服务器的输出信息,错误日志记录了本地localhost的故障信息.因此合理的管理日志文件对运维人员的工作不言而喻,以下是摘自互联网的脚本,来学习参考已经试验过,可以投入生产环境使用 日志文件切割 由于 Nginx 的日志都是写在一个文件当中的,因此,我们需要每天零点将前一天的日志存为另外一个文件,这里我们就将 Nginx 位于 logs 目录中的 access.log