在真实的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的基础配置,涵盖了Nginx作为一款高性能的Web服务器和反向代理服务器如何进行配置以满足不同场景的需求。以下是对该文内容的详细解读: 1. **Nginx简介**...
nginx日志自动定时切割及清除脚本
nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。
windows nginx 按天切割日志
Nginx日志切割脚本
总之,`nginx日志按时间切割.zip`提供的批处理脚本为Windows环境下Nginx日志管理提供了一种基础解决方案。通过定期运行此脚本,可以有效地管理和跟踪Nginx服务器的日志信息,这对于日常运维和问题排查具有重要意义。...
- `create 640 nginx adm`:切割后创建新日志文件,权限为640,属主为nginx,属组为adm。 - `postrotate`和`endscript`之间的命令会在每次切割后执行,这里是发送信号让Nginx重载配置,从而让新的日志文件生效。 ...
### Nginx 配置详解:负载均衡、动静分离、请求日志打印、日志切割与管理 #### 一、Nginx配置负载均衡 **负载均衡**是Nginx的一项核心功能,它能帮助我们将客户端请求分发到不同的服务器上,从而提高系统的稳定性...
Nginx自动日志切割是解决日志文件过大,占用磁盘空间,以及方便历史数据检索的有效手段。 首先,Nginx日志的生成和配置。日志格式可以自定义,例如使用`log_format`指令设置日志模板。如文中的`main`格式,它包含了...
加到计划任务里,每天自动分割 nginx日志,低分白送,windows版本批处理文件哦
四、日志压缩与保留策略 为了节省磁盘空间,切割后的日志文件可以进一步进行压缩。在日志切割脚本中添加`gzip`命令: ```bash gzip /var/log/nginx/access.log.$DATE gzip /var/log/nginx/error.log.$DATE ``` ...
Logrotate 日志切割 Nginx Logrotate 是一个基于 CRON 运行的日志切割工具,它可以根据配置文件自动切割和压缩日志文件。下面是 Logrotate 的详细介绍和相关知识点: 1. Logrotate 的介绍 Logrotate 是一个基于 ...
本文将对Nginx日志配置及日志切割进行详细介绍。 首先,Nginx提供了多种日志配置指令,这些指令可以定义日志记录的行为和格式。以下是两个核心的指令: 1. access_log:此指令用于开启或关闭访问日志,并设置日志...
nginx日志切割
Nginx日志描述 通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的...
: 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...
Nginx日志分析工具2.1.0是一款专为Windows平台设计的软件,用于高效地解析、统计和分析Nginx服务器产生的日志文件。Nginx作为一款高性能的Web服务器和反向代理服务器,广泛应用于各类网站和应用程序中。在日常运维...
利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用
在高访问量的网站环境中,Nginx的日志文件可能会迅速增长,如果不进行适当的切割,可能会导致硬盘空间耗尽,影响服务的正常运行。下面将详细介绍Nginx日志文件切割的相关知识点。 首先,我们需要了解Nginx的日志...