欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx日志文件切割 博客分类: nginx nginx日志切割 

程序员文章站 2024-03-17 22:26:22
...

 

创建脚本logcut.sh,放到/opt/nginx/sbin下

在windows下编辑,可以把dos转unix格式

#!/bin/bash
## 零点执行该脚本
## Nginx 日志文件所在的目录
LOGS_PATH=/opt/nginx/logs
## 获取昨天的 yyyy-MM-dd
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
## 移动文件
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
kill -USR1 $(cat /opt/nginx/logs/nginx.pid)

(注意nginx.pid路径,在nginx.conf里配置)

设置权限,添加可执行

cd /opt/nginx/sbin
chmod 755 logcut.sh


添加到crontab

crontab -e 编辑crontab,添加如下内容

0 0 * * * /bin/bash /opt/nginx/sbin/logcut.sh > /dev/null 2>&1

后面添加的 > /dev/null 2>&1的意义是把消息和错误输出到空设备,不让系统发邮件

 

crontab -l 查看crontab

 

参考:

Nginx 日志文件切割
http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html