Nginx日志分割 使用工具crontab

112 阅读1分钟

安装crontab

yum install crontabs

创建日志分割脚本 log_cut.sh

根据实际情况修改 LOG_PATH、RECORD_TIME

第6、7行的 backup为历史日志所在目录

#!/bin/bash
LOG_PATH="/usr/local/nginx/logs" 
#切割日志的后缀
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d)
PID=/usr/local/nginx/logs/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/backup/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/backup/error.${RECORD_TIME}.log

#向Nginx主进程发送信号,用于重新打开日志文件
kill -USR1 `cat $PID`

图片.png

赋予脚本可执行权限

chmod +x log_cut.sh

crontab配置定时执行

crontab -e

输入以下文本,每天00:00分执行一次
0 0 * * * /usr/local/nginx/sbin/log_cut.sh


59 23 * * * /usr/local/nginx/sbin/log_cut.sh
重启

service crond restart

查看任务列表

crontab -l

crontab常用命令

service crond start         //启动服务
service crond stop          //关闭服务
service crond restart       //重启服务
service crond reload        //重新载入配置
crontab -e                  // 编辑任务
crontab -l                  // 查看任务列表
service crond status		//查看服务状态