收藏本页 | 设为主页 | RSS
LOGO

我就上乐乐吧

Nginx是一个非常轻量的Web服务器,体积小、性能高、速度快等诸多优点。但不足的是它也存在很多缺点,比如设定好的访问及错误日志文件一直就是一个,也不会自...

您当前的位置:首页 » 技术杂萃
全站公告
重要提示!

本站收集各类美图,以无LOGO原汁原味图为主!欢迎大家交流。
怕失联,请认准如下地址:
微博:传送门
土豆:传送门
电报:传送门
微信:superimagelove
花瓣:传送门
Q群1:231151757
Q群2:583138281
文件解压密码:593668.com
热心赞助

站内搜索
 
相关文章
热门文章
热搜词组
文章归档
友情链接
Nginx运行及错误日志自动切割脚本

发布日期:2018-12-17  关键词: Nginx

Nginx是一个非常轻量的Web服务器,体积小、性能高、速度快等诸多优点。但不足的是它也存在很多缺点,比如设定好的访问及错误日志文件一直就是一个,也不会自动地进行切割,如果网站访问量又很大的话,就会导致日志文件容量非常大,日后根本不合适察看。当然了,相信大家也不希望看到日益庞大的这么两个访问及错误日志文件,那么就需要自已动手,手动对这个文件来进行切割。

原理也是很简单的,使用Shell脚本再加crontab命令就能非常方便地进行切割了。

方案采取如下,每天零点创建新的日志文件,并利用符号链接将日志目录中的access.log和error.log链接过去。

先创建Shell 脚本,如下:

#!/bin/sh
##取今天日期
TODAY=$(date +%Y-%m-%d)
##创建日志文件[日志文件路径要根据nginx.conf来调整]
touch /var/log/nginx/www.593668.com.access_${TODAY}.log
touch /var/log/nginx/www.593668.com.error_${TODAY}.log
##删除旧符号链接
rm -rf /var/log/nginx/access.log
rm -rf /var/log/nginx/error.log
##创建新符号链接
ln -s /var/log/nginx/www.593668.com.access_${TODAY}.log /var/log/nginx/access.log
ln -s /var/log/nginx/www.593668.com.error_${TODAY}.log /var/log/nginx/error.log
## 再向Nginx主进程发送USR1信号。USR1信号是重新打开日志文件,如下的/run/nginx/nginx.pid请自行调整
kill -USR1 $(cat /run/nginx/nginx.pid)

将如上脚本保存为文件[rotatelog],再添加可执行权限。
#chmod +x rotatelog

再启动crontab,将任务加入。
#crontab -e

增加如下一行[脚本路径自行调整]:
0 0 * * * /home/rotatelog

至此,就实现了我们想要的功能,这样Nginx每天都会生成一个新的日志及错误文件。另外如果还是觉得这样日志文件占用空间太多,还可以在脚本中加入压缩,这样可以更节省空间。
猜您喜欢:
Q群: 231151757微信:superimagelove 官网:www.593668.com