LNMP--Nginx的日志切割

上一节日志配置好以后,会一直写入信息到/tmp/access.log里面,假如日志不去整理,总有一天会把硬盘塞满,所以我们需要做日志切割,每天生成一个新的日志,把旧的超过多少天的日志删除,我们需要去写个Nginx的日志切割脚本

(把Nginx所有脚本放在这个目录下)

[[email protected] ~]# 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

执行一下,需要把脚本命令加入到任务计划:(-x 意为 “可查看过程”)

[[email protected] ~]# sh -x /usr/local/sbin/nginx_logrotate.sh

++ date -d ‘-1 day‘ +%F

+ d=2015-08-11

+ ‘[‘ -d /tmp/nginx_log ‘]‘

+ mkdir /tmp/nginx_log

+ mv /tmp/access.log /tmp/nginx_log/2015-08-11.log

+ /etc/init.d/nginx reload

+ cd /tmp/nginx_log/

+ gzip -f 2015-08-11.log

原日志文件内容为空:

[[email protected] ~]# cat /tmp/access.log

查看切割,并压缩完成的日志:

[[email protected] ~]# ls /tmp/nginx_log/

2015-08-11.log.gz

时间: 2024-09-20 16:39:32

LNMP--Nginx的日志切割的相关文章

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

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

nginx 日志切割

#!/bin/bash #日志的位置,日志文件以access.log结尾 Logs_Path=/home/wwwlogs cd ${Logs_Path} #nginx的pid文件 Pid_Path=/var/run/nginx.pid #日志切割后存放位置 Logs_Logrotate=/home/wwwlogs #nginx 程序 Nginx_Program=/usr/local/tengine/sbin/nginx #日志压缩的信息 Compression_Days=3 Compressio

Nginx日志切割,无缝升级

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

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

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