在windows下安装nginx后,由于nginx本身没有提供日志分割的功能配置,所以只能通过windows的计划任务来实现该功能,并需要配合写一个简单的分割用的批处理命令来用。
假设我的nginx安装在D:\nginx目录下,而相关应用的日志被配置为3个日志,分别为:
- xxxxx.com.log 正常的应用访问日志
- xxxxx.com_444.log 非法访问日志,在nginx中,444为特有的拒绝连接状态,所以设为444别名
- xxxxx.com_res.log 静态资源访问日志
现在需要每天将日志分割到单独的目录下,并按年月日目录区分:
先写批准处理的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=d:\backup\%d1%\%d2%\%d3% mkdir %backupdir% move d:\ngins\logs\xxxxx.com*log %backupdir% d:\ngins\nginx -s reload
上面的命令先将date按/符号分割为年月日的3个字符串,并在D盘的backup目录下创建年\月\日的目录,然后将对应应用的所有匹配的访问日志都移动到新创建的目录下,最后重新载入nginx配置(相当于重启)。
注意:上面对%date%的分割,未必一定是/符号,我在不同的windows系统上见过不同的分隔符,有的表示为如2014/05/04,有的则表示为2014-05-04的格式,所以要视实际情况来使用对应的分隔符。
批处理写完后,可以先尝试执行下看看效果,建议以上所有路径都使用绝对路径,避免分配到计划任务的时候执行失败。
下面就是添加到系统的计划任务里面,这个就比较简单:
开始 - > 程序 -> 附件 -> 系统工具 -> 任务计划程序,添加任务,然后根据提示一步步完成操作就可以了,添加完成后可以右击任务运行看看效果,确定没有问题后,就可以等第二天看结果了。
相关推荐
windows 下nginx 日志切割 结合windows任务计划,实现每天备份日志,并reopen nginx
: 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...
nginx日常代理应用所遇到的问题,防止nginx日志过大影响服务的运行
将在 logs目录下生成类似 2014-01-21.access.log 的log文件,这个日期会根据服务器的时间变化) 配置可参照 nginx目录下的 conf/nginx.conf 文件进行log配置 源码留给有特殊需要的朋友自己编译。此源码就是修改后的...
加到计划任务里,每天自动分割 nginx日志,低分白送,windows版本批处理文件哦
系统日志是一个很重要的东西但同时如果我们不定时清除空间就会给日志占完了,下面我来介绍定期删除日志实现方法,各位同学可参考。...不过使用脚本的时候需要将Nginx的日志文件进行自动分割,否则会删除正在
nginx-1.19.9_win服务启动_分割日志(1).rar
192.168.50.195 – – [17/Jun/2016:23:59:12 +0800] “GET / HTTP/1.1” 304 0 “-” “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36”
对于如下的nginx日志 198.52.103.14 - - [29/Jun/2014:00:17:11 0800] "GET /q/1403060495509100 HTTP/1.1" 200 26788 "http://wenda.so.com/q/1403060495509100" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT...
1.5.4 日志分割配置实例 1.6 Nginx性能优化技巧 1.6.1 编译安装过程优化 1.6.2 利用TCMalloc优化Nginx的性能 1.6.3 Nginx内核参数优化 1.7 实战Nginx与PHP(FastCGI)的安装、配置与优化 1.7.1 什么是 ...