在真实的Nginx实践过程中,我们通常都会对Nginx的访问日志进行切割,即按照一定的周期生成一个独立的Nginx访问日志文件,以避免存在文件体积过于庞大的日志文件。一方面有助于实际的错误排查,更重要的是有利于Nginx对访问文件的写入。同时,可以将Nginx的安装路径加入到环境变量,甚至可以编写启动关闭脚本,以方便实际操作。
<一>. 切割日志文件:
1. 编写脚本:su - root
进入主目录:cd ~
编写脚本:vi split-nginx-log.sh
#!/bin/bash log_path="/opt/nginx/logs" dir_name=`date -d "yesterday" +%Y%m` file_name=`date -d "yesterday" +%Y.%m_%d` mkdir -p ${log_path}/${dir_name} mv ${log_path}/access.log ${log_path}/${dir_name}/${file_name}.log kill -USR1 `cat ${log_path}/nginx.pid`
细节说明:
1. 前一天的日期:date -d "yesterday" +%Y%m%d
2. 递归创建目录,如果已存在则不创建:mkdir -p ${log_path}/${dir_name}
3. 对日志文件重命名:mv access.log new.access.log
4. 通知nginx主进程重新打开日志文件:kill -USR1 `cat /opt/nginx/logs/nginx.pid`
2. 赋予执行权限、执行:
ls -al chmod 744 split-nginx-log.sh ./split-nginx-log.sh
3. 定时调度:每天零点切割日志
crontab -e 00 00 * * * /root/split-nginx-log.sh
<二>. 设置环境变量:
1. 编辑当前用户PATH:
显示PATH:echo $PATH
用户主目录:cd ~
编辑文件、追加如下内容:vi .bash_profile
NGINX_HOME=/usr/local/nginx PATH=$NGINX_HOME/sbin:$PATH export PATH
立即生效:source .bash_profile
2. 启动、关闭:
nginx -c /usr/local/nginx/conf/nginx.conf nginx -s quit
3. 可执行脚本:
启动:vi start-nginx.sh
nginx -c /usr/local/nginx/conf/nginx.conf
关闭:vi stop-nginx.sh
nginx -s quit
执行权限:
chmod 744 start-nginx.sh chmod 744 stop-nginx.sh
执行脚本:
./start-nginx.sh ./stop-nginx.sh
相关推荐
windows 下nginx 日志切割 结合windows任务计划,实现每天备份日志,并reopen nginx
nginx日志自动定时切割及清除脚本
nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。
NULL 博文链接:https://hello-nick-xu.iteye.com/blog/2089724
Nginx日志切割脚本
windows nginx 按天切割日志
Nginx配置负载均衡、配置网页数据动静分离、请求日志打印详细配置、日志自动切割、自动压缩、自动删除
nginx日志按时间切割脚本 (bat文件)
Nginx 自动 日志 切割 Nginx在运行时,每天会产生一定量的日志信息! 如果不对这些日志进行切割,会造成磁盘空间的浪费和查找错误的时间的增长!
Nginx日志描述 通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的...
包含二部分内容,一部分是nginx 的安装,另一部分是nginx日志的切割如何设置。步骤很详细。自行下载
利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用
本篇文章主要介绍了详解Nginx日志配置及日志切割,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
nginx日志切割.rar
windows版Nginx日志分析工具2.1.0
nginx的配置文件中所有使用的变量都必须是声明过的,否则nginx会无法启动并打印相关异常日志 nginx变量的一个有趣的特性就是nginx中没一个变量都是全局可见的,而他们又不是全局变量。比如下面这个例子 location
本文实现的功能是在吗每天凌晨00:00把前一天的Nginx日志access.log重命名为access-xxxx-xx-xx.log格式,例如:access-2016-10-01.log,下面话不多说了,来看看详细的实现方法吧。 实现方法 脚本 vim /opt/nginx/...
NULL 博文链接:https://baobeituping.iteye.com/blog/2165977
nginx 自动切换日志 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开...
本解本实现了使用shell脚本实现nginx日志分割,大家如果没资源分下载,可以转至:https://mp.csdn.net/mdeditor/85233117# 去查看源代码。谢谢大家