nginx日志分割:windows和linux

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx日志分割:windows和linux相关的知识,希望对你有一定的参考价值。

一、为什么对日志进行分割。

1.nginx日志默认情况下统统写入到一个文件中,文件会变的越来越大.

2.单个的日志文件非常不方便查看分析。

二、简析日志分割。

不论是windows还是linux,对日志的分割都是一条思路。即:

1.对现有日志文件进行重命名。

2.生成新的日志文件。

3.定制脚本,定时执行.

三、日志分割实操。

windows系统:

1.logcut.bat

#定义时间(年月日)

for /f "tokens=1 delims=/ " %%j in ("%date%") do set d1=%%j

for /f "tokens=2 delims=/ " %%j in ("%date%") do set d2=%%j

for /f "tokens=3 delims=/ " %%j in ("%date%") do set d3=%%j

#创建目录便于查看

set backupdir=C:\nginx\logs\%d1%\%d2%\%d3%

mkdir %backupdir%

#移动原有日志,相当于重命名

move F:\nginx\access.log %backupdir%

#重开日志,生成新的日志文件

F:\nginx\nginx.exe -s reopen

2.通过windows的计划任务来实现定时分割日志(本人使用的windows2012 r2)

技术分享图片

linux系统:

1.logcut.sh

#!/bin/sh

#定义日志格式

Dateformat=`date +%Y%m%d`

#定义日志目录

Basedir="/application/nginx"

Nginxlogdir="$Basedir/logs"

#定义分割的日志

Logname="access"

#判断是否存在日志文件

[ -d $Nginxlogdir ] && cd $Nginxlogdir||exit 1

[ -f ${Logname}.log ]||exit 1

#对原有的日志文件进行修改

/bin/mv $Logname.log ${Dateformat}_$Logname.log

#重新生成nginx日志

$Basedir/sbin/nginx -s reload

2.定时任务,实现功能。

crontab -l

#logs  cut

00 00  * * * sh /server/scripts/logcut.sh  &>/dev/null








以上是关于nginx日志分割:windows和linux的主要内容,如果未能解决你的问题,请参考以下文章

Nginx优化---日志分割

nginx分割日志,多日志循环处理

nginx 日志按照日期分割

Nginx 日志自动分割

Nginx Nginx主机配置日志分割日志自动备份

Linux nginx日志按天分割实例