linux下nginx的error.log怎么分割

access.log有pid文件error.log什么都没有分割不了急求... access.log有pid文件 error.log什么都没有分割不了 急求 展开
 我来答
17哥
2013-08-04 · 菩提只向心觅,何劳向外求玄
17哥
采纳数:244 获赞数:1230

向TA提问 私信TA
展开全部

实际上你要做的是对nginx的日志进行切分。不知道我理解的对不销瞎燃?

如果是对nginx的日志进行切分的话,可以采用如下操作:

(1)cd logs && mv error.log error.log.suffix #suffix可以设置为一个时间戳
(2)./sbin/nginx -s reload  #重新生成error.log文件,新的日志写到改文件中。

解释:

在执行了(1)之后,之前写到error.log中的日志还是会写到error.log.suffix文件中。因为,文件的inode没有神拦变化(可以使用stat命令查看)。

在执行了(2)之后,由于nginx在重启的过程中会重新生成error.log,因此,新的日志就不再写入到error.log.suffix,而是写入到新亏虚的文件error.log。从而实现了在不丢失日志,不中断服务的情况下实现nginx的日志切分。


对于上述命令,可以写到一个sh脚本中,并且配置成crontab定时任务去定时切割。

注意,重启nginx一定要是用nginx -s reload选项。

追问
能给个sh脚本么   非常感谢
追答
#!/bin/sh
NGX_INSTALL_PATH=/home/wangwei/nginx;
NGX_LOG_PATH=/home/wangwei/nginx/logs;

#日志的后缀为2013080511的格式,日志切分可定位每小时切分一次。
suffix=$(date +%Y%m%d%H);

#重命名
cd $NGX_LOG_PATH && mv error.log error.log.$suffix;

#重启nginx,生成新的日志文件.
cd $NGX_INSTALL_PATH && ./sbin/nginx -s reload;

可以把上述脚本配置成定时任务。

大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
oowood
2016-02-01 · TA获得超过1781个赞
知道大有可为答主
回答量:2196
采纳率:81%
帮助的人:1234万
展开全部
可以使用日志文件名转换和reload命令结合的操作方式完成。
1、nginx的日志默认是写到error.log里面的,首先假设被换贺迹局到error.log.suffix文件下,继续执行reload命令就可更换日志写入位置。
2、示例代码:
#!/禅让bin/sh
NGX_INSTALL_PATH=/app/nginx;
NGX_LOG_PATH=/app/nginx/logs;

#日志的后缀为20160201135022的格式,日志切分可定位每小州慧时切分一次。
suffix=$(date +%Y%m%d%H);
#重命名
cd $NGX_LOG_PATH && mv error.log error.log.$suffix;
#重启nginx,生成新的日志文件.
cd $NGX_INSTALL_PATH && ./sbin/nginx -s reload;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式