nginx -s reopen 命令小解

当nginx日志文件过大时,通常需要进行切割以方便管理和查询。简单的移动文件并不能立即让nginx进程识别新的日志文件。正确做法是先移动并重命名旧日志,然后使用nginx的reopen功能生成新日志。例如,可以执行`mv access.log access_20201016.log`后,再运行`nginx-sreopen`来确保进程切换到新的日志文件。这样能确保日志记录的连续性和无损性。

当需要切割 nginx 日志文件时,我们需要用到 nginx -s reopen 命令,用来完成新日志的生成。
当日志文件太大时,一般我们是按天切割文件,也就是按天做个分类,每天的日志放在一个文件中,并用日期命令,方便日后查找。
但时我们简单的把文件移动并重新命令是无法及时生效的,因为在 linux 下的文件句柄,文件在被打开的情况下 mv 移走文件,操作这个文件的进程还是有这个文件的信息,原进程还是读写原来的文件,简单的 mv 无法生效也就无法完成我们想要的文件分隔。

一般我们需要 2 步。

  1. 移走文件并重命名。
  2. 利用 nginx 的 reopen 功能,完成新日志文件的生成。

例如:

mv access.log access_20201016.log
nginx -s reopen 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值