Nginx 日志切割(利用Shell脚本和Linux crond定时任务)
相关的安装命令
- –error-log-path= 错误日志
- –http-log-path= http请求日志
手动切割脚本文件
- 创建一个shell可执行文件: /var/log/nginx/cut_nginx_log.sh,内容为:
#!/bin/bash
LOG_PATH="/var/log/nginx/"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
PID=/var/run/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
#向Nginx主进程发送信号,用于重新打开日志文件
kill -USR1 `cat $PID`
- 为 cut_nginx_log.sh 添加可执行的权限:
chmod a+x /var/log/nginx/cut_nginx_log.sh
- 测试日志切割后的结果
/var/log/nginx/cut_nginx_log.sh
- 把切割任务加入到定时任务中,每天凌晨4.30切割一次
crontab -e
30 4 * * * /var/log/nginx/cut_nginx_log.sh
#保存退出 :wq
#重启定时任务服务
systemctl restart crond
如果没有安装crontabs 则需要先安装一下 yum -y install crontabs