05 nginx定时任务完成日志切割

一:nginx日志切割  (1) 新建一个data目录      [[email protected] nginx]# mkdir /data  (2) 新建一个shell脚本      [[email protected] data]# vi runlog.sh  (3) 编写shell脚本

#需要切割日志文件的路径

LOGPATH=/usr/local/nginx/logs/access.log

#根据月份创建一个目录

BASEPATH=/data/$(date -d yesterday +%y%m)

mkdir -p $BASEPATH

#把当前的日志文件修改 当前日期的的天数

bak=$BASEPATH/$(date -d yesterday +%y%m%d%H%M).hgj123.com.log

mv $LOGPATH $bak

#重新创建一个日志文件

touch $LOGPATH

#重新执行nginx 信号量  重读日志   [注意 反引号]

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

(3)执行

sh  runlog.sh

(4)定时任务

crontab -e

#编写代码

*/1  * * * * sh data/runlog.sh

/*注意点

01 00 * * * /xxx/path/b.sh  每天0时1分(建议在02-04点之间,系统负载小)

*/

时间: 2024-10-26 15:22:16

05 nginx定时任务完成日志切割的相关文章

Ngnix的日志管理和用定时任务完成日志切割

一.日志管理 先来看看ngnix的配置文件的server段 接下来我们解释一下默认格式的具体意思 #log_format main '$remote_addr(远程IP) - $remote_user(远程用户) [$time_local](访问时间) "$request"(请求方式) ' # '$status(状态302.404.401.403等) $body_bytes_sent(请求体 body 长度等) "$http_referer"(referer来源信息

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

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

linux shell:nginx日志切割脚本

需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名 简要命令: mv /usr/local/tengine/logs/access.log /usr/local/tengine/logs/access-date.log kill -USER1 Nginx主进程号. 解释: 通过mv命令重命名日志,并且通过kill -USER1 nginx-id的命令,告诉nginx需要写新的日志, 不然nginx不会在mv之后继续写日志. 我们可以通

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

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

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

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

一.访问日志 1.查看Nginx日志格式 [[email protected] ~]# grep -A2 log_format /usr/local/nginx/conf/nginx.conf log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$htt

91.Nginx配置:访问日志,日志切割,静态文件不记录日志和过期时间

一.访问日志 1.查看Nginx日志格式 [[email protected] ~]# grep -A2 log_format /usr/local/nginx/conf/nginx.conflog_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'' $host "$request_uri" $status'' "$http_referer" "$http_u

四十八、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系列-4.Nginx日志配置及日志切割

Nginx系列-4.Nginx日志配置及日志切割 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Nginx+