在 Linux 平台上进行切割,需要使用 date 命令以获得昨天的日期、使用 kill 命令向 Nginx 进程发送重新打开日志文件的信号,以及 crontab 设置执行任务周期。
先创建一个 Shell 脚本cut-log.sh ,命令是
shell 脚本代码如下:
- #!/bin/bash
- ##
零点执行该脚本 -
- ##
Nginx 日志文件所在的目录 - LOGS_PATH=/usr/local/nginx/logs
-
- ##
获取昨天的 yyyy-MM-dd - YESTERDAY=$(date
-d "yesterday" +%Y-%m-%d) -
- ##
移动文件 - mv
${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log -
- ##
向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件 - kill
-USR1 $(cat /usr/local/nginx/nginx.pid)
shell脚本编写完成后保存退出;
使用 crontab -e 新增一个定时任务,操作如下:
1.在终端输入命令:crontab -e
2.进入vi编辑界面,输入一下代码:
#每天23:59分分割日志文件
以上就是分割日志的全部步骤,可以设置为距当前时较近的时间测试一下。