nginx日志切割并删除7日之前的

shell脚本

vi /home/crontab/cut_nginx_log.sh  #编辑
#!/bin/sh
logs_path="/usr/local/nginx/logs/"
DAYS=7
mv ${logs_path}bbs_access.log  ${logs_path}nginx_logs/bbs_logs/bbs_access_$(date -d "yesterday" +"%Y%m%d").log
mv ${logs_path}sns_access.log  ${logs_path}nginx_logs/sns_logs/sns_access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
find ${logs_path}nginx_logs/bbs_logs/  -name "bbs_access_*" -type f -mtime +$DAYS -exec rm {} \;
find ${logs_path}nginx_logs/sns_logs/  -name "sns_access_*" -type f -mtime +$DAYS -exec rm {} \;
:wq!  #保存退出

脚本的意思是移动日志文件,然后平滑重启nginx。这是会生成新的日志文件。

最后find 7日之前的日志并删除。

此脚本加入计划任务,时间可以根据情况设置

时间: 2024-12-09 22:09:51

nginx日志切割并删除7日之前的的相关文章

5、nginx日志切割和删除

5.Nginx日志切割和日志定期删除 LogDir=/data/logs/nginx   #日志存放目录 LogDate=`date +%Y%m%d`    #日志名称后缀 KeepLogDays=30   #保留的天数(看自己的需求) DelDate=`date -d "-${KeepLogDays} days" +%Y%m%d` #当前时间的前三十天时间戳(是一个具体的日期) (-d参数是删除 语法:date -d 3days 双引号引用的话中间可以有空格  否则会报错) (+%Y

6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)

课程名称:12.10?Nginx访问日志笔记内容: [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf定义日志格式combined_realip:日志格式名字,可以写任意,但是后面应用都要写这个log_format ys '$remote_addr $http_x_forwarded_for [$time_local]'' $host "$request_uri" $status'' "$http_refer

十二周三课 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日志切割,日志格式,静态文件不记录日志,配置缓存

我是直接写的一个简单的shell实现的,内容如下: #! /bin/bash datedir=`date +%Y%m%d` /bin/mkdir  /home/logs/$datedir >/dev/null 2>&1 /bin/mv /home/logs/*.log /home/logs/$datedir /bin/kill -HUP `cat /var/run/nginx.pid` 这样执行以后,就会在/home/logs/$datedir目录下生成日志文件,你可以在/etc/cr

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访问日志、Nginx日志切割、静态文件不记录日志和过期时间

一.Nginx访问日志 日志格式 # pwd /usr/local/nginx/conf [[email protected] conf]# vim nginx.conf log_format ELA '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$http_user_agent"'; 解析

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

一.Nginx访问日志#vim /usr/local/nginx/conf/nginx.conf日志格式的名字combined_realip可以自定义,例如将它修改为aming,注意,这里定义为什么,后面引用的时候就定义为什么(nginx配置文件看见分号才是这一行结束)#vim /usr/local/nginx/conf/vhost/test.com.conf //增加如下一行#/usr/local/nginx/sbin/nginx -t#/usr/local/nginx/sbin/nginx

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

一:nginx访问日志 日志格式vim /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_referer referer$http_user_agent user_agent除了在主配置文件nginx.c