2.0-nginx日志切割

因为nginx没有像apache一样,有自带的切割日志工具。所以需要借助脚本来完成。

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                                 #-f为强制覆盖,压缩日志

最后加入计划任务中,让每天凌晨0:0:0执行

crontab -e 然后添加 0 0 * * * /usr/local/sbin/nginx_logrotate.sh

时间: 2024-08-12 03:20:29

2.0-nginx日志切割的相关文章

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

Nginx访问日志 1. 进入配置文件 [[email protected] src]# vim /usr/local/nginx/conf/nginx.conf  //搜索log_format 参考更改配置成如下: log_format aming '$remote_addr $http_x_forwarded_for [$time_local]' 如图: 日志格式字段含义如下: combined_realip为日志格式的名字,后面可以调用它. 2.到虚拟主机配置文件中指定访问日志的路径 [[

十二周三课 Nginx访问日志、 Nginx日志切割、 静态文件不记录日志和过期时间

Nginx访问日志 Nginx的文件格式存在于主配置文件中./usr/local/nginx/conf/nginx.conf然后搜索log_format找到他的配置文件这样我们就可以进行日志的格式配置了. 我们常用如下配置.$remote_addr客户端IP(公网IP)$http_x_forwarded_for代理服务器的IP$time_local服务器本地时间$host访问主机名(域名)$request_uri访问的url地址$status状态码$http_refererreferer$htt

Nginx日志切割并计划任务自动上传到FTP服务器

枫城浪子原创,转载请标明出处! 微信bh19890922 QQ445718526,490425557 更多技术博文请见个人博客: https://fengchenglangzi.000webhostapp.com http://fengchenglangzi.blog.51cto.com 一.简述 Nginx WEB服务器每天会产生大量的访问日志,而且不会自动地进行切割,如果持续天数访问,将会导致该access.log日志文件容量非常大,不便于SA查看相关的网站异常日志,并且后期进行分割非常不易

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

nginx日志切割并使用flume-ng收集日志

nginx的日志文件没有rotate功能.如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件.第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志.在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件.第二步向nginx主进程发送USR1信号.nginx主进程接到信号后会从配置文件中读取日志文件名称,重新打开日志文件(以配置文件中的日志名称命名),并以工作进程的

nginx日志切割脚本,自动上传到日志服务器

nginx日志切割脚本,自动上传到日志服务器 1 nginx是yum方式安装,系统会自动生成nginx日志切割计划任务在/etc/logrotate.d/nginx下,把自动生成的计划任务删除,自己编写切割脚本,并传到统一存放日志的服务器上.  www.ahlinux.com 2 安装ncftp包,用于日志传输时使用. 3 简单切割脚本如下: #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin export PATH yesterday=`date +%

简单的nginx日志切割脚本

#!/bin/bash savepath_log='/opt/apps/nginx/nglogs' nglogs='/opt/apps/nginx/logs' mkdir -p ${savepath_log}/$(date +%Y)/$(date +%m) mv $nglogs/error.log ${savepath_log}/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log mv $nglogs/access.log ${savepath_l

12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期

12.10 Nginx访问日志 [[email protected] vhost]# vim test.com.conf除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加access_log /tmp/test.com.log martin;这里的combined_realip就是在nginx.conf中定义的日志格式名字 [[email protected] vhost]# /usr/local/nginx/sbin/nginx -tnginx: the co

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

一.Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format combined_realip //规则名字 除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加 vim /usr/local/nginx/conf/vhost/test.com.conf 添加 access_log /tmp/1.log combined_realip; 这里的combined_realip就是在nginx.