nginx配置一:nginx分割日志--linux平台

来源:互联网 发布:加入域找不到网络名 编辑:程序博客网 时间:2024/05/17 00:53

 

在 Linux 平台上进行切割,需要使用 date 命令以获得昨天的日期、使用 kill 命令向 Nginx 进程发送重新打开日志文件的信号,以及 crontab 设置执行任务周期。

先创建一个 Shell 脚本cut-log.sh ,命令是 :touch /usr/local/nginx/sbin/cut-log.sh  ;

shell 脚本代码如下:

  1. #!/bin/bash  
  2. ## 零点执行该脚本  
  3.   
  4. ## Nginx 日志文件所在的目录  
  5. LOGS_PATH=/usr/local/nginx/logs  
  6.   
  7. ## 获取昨天的 yyyy-MM-dd  
  8. YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)  
  9.   
  10. ## 移动文件  
  11. mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log  
  12.   
  13. ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件  
  14. kill -USR1 $(cat /usr/local/nginx/nginx.pid 

 

shell脚本编写完成后保存退出;

使用 crontab -e 新增一个定时任务,操作如下:

1.在终端输入命令:crontab -e

2.进入vi编辑界面,输入一下代码:

#每天23:59分分割日志文件

59 23  /bin/bash /usr/local/nginx/sbin/cut-log.sh     

以上就是分割日志的全部步骤,可以设置为距当前时较近的时间测试一下。