nginx 切割日志

回复 收藏
  1. 参考文档
  2. nginx  切割日志
  3. https://www.ttlsa.com/nginx/nginx-log-cutting/
  4. nginx 是一个非常轻量的 Web 服务器,体积小、性能高、速度快等诸多优点。但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量非常大,不便于管理。当然了,我们也不希望看到这么庞大的一个访问日志文件,那需要手动对这个文件进行切割。
  5. 1.日志文件切割要求
  6. 由于 Nginx 的日志都是写在一个文件当中的,因此,我们需要每天零点将前一天的日志存为另外一个文件,这里我们就将 Nginx 位于 logs 目录中的 access.log 存为 access_[yyyy-MM-dd].log 的文件。其实 logs 目录中还有个 error.log 的错误日志文件先不管。
  7. 2.脚本 并加入计划任务
  8. [root@niaoyun-101 logs]# cat cut_log.sh
  9. #! /bin/bash
  10. #获取当前的日期
  11. #将昨天的日志文件重命名
  12. #向nginx 进程发送重新打开日志文件的信号 它可以实现平滑重启
  13. #nginx启动新的进程 旧的进程继续提供服务 等它服务结束就自动关闭
  14. t1=`date +%F`
  15. /bin/mv /opt/nginx/logs/access.log /opt/nginx/logs/access_$t1.log
  16. /bin/kill -HUP `cat /opt/nginx/logs/nginx.pid`
  17. [root@niaoyun-101 logs]# crontab -l
  18. 0 3 * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1
  19. 10 0 * * *  /bin/sh  /opt/nginx/logs/cut_log.sh
  20. [root@niaoyun-101 logs]#
  21. 3.验证
  22. [root@niaoyun-101 logs]# ll
  23. total 12
  24. -rw-r--r-- 1 root root 1610 Mar 15 13:37 access_2016-03-15.log
  25. -rw-r--r-- 1 root root    0 Mar 15 13:39 access.log
  26. -rw-r--r-- 1 root root  140 Mar 15 13:39 cut_log.sh
  27. -rw-r--r-- 1 root root    0 Mar 12 00:01 error.log
  28. -rw-r--r-- 1 root root    6 Mar 15 09:51 nginx.pid
  29. [root@niaoyun-101 logs]#

2016-03-21 18:51 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: