Chinaunix首页 | 论坛 | 博客
  • 博客访问: 403948
  • 博文数量: 80
  • 博客积分: 8021
  • 博客等级: 中将
  • 技术积分: 1075
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-08 10:36
文章分类

全部博文(80)

文章存档

2010年(3)

2009年(25)

2008年(52)

我的朋友

分类: 系统运维

2009-12-23 19:05:32

nginx 的日志是不支持 |/path/to/cronolog 这样的写法的,不能直接支持 cronolog 来轮转日志。但是日志总是要拆分的。一般都是每天跑一个 crontab ,把原来的日志 mv 一下,然后 kill -USR1 让 nginx 重新打开日志文件。

以前想到过应该可以利用命名管道来做这事情,昨天去实践了一下。

先创建一个命名管道,

mkfifo /path/to/nginx/logs/access_log_pipe ,当然也可以直接用命名管道代替原来的日志文件。

然后让 cronolog 从这个文件读:

/path/to/cronolog /path/to/log/access_%Y%m%.log <  /path/to/nginx/logs/access_log_pipe &

把 nginx 的日志路径指到那个命名管道然后重启一下就可以了。之后在 nginx 的启动脚本里要把启动 cronolog 放在启动nginx 之前。

阅读(572) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~