NGINX日志切割


vi rotatelog.sh


#!/bin/bash
# This script run at 00:00

# The Nginx logs path
logs_path="/usr/local/webserver/nginx/logs/"

mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid`

保存

设置crontab,每天定时切割

首先需要确定你的服务器有没有安装crontab的服务,输入crontab -e命令,有反应就安装了。

如果没有安装,运行yum install vixie-cron 一键安装。

输入crontab -e命令,输入下面的内容:

1、00 00意思为00分00点,也就是凌晨0点,后面“ * * * ”为“ 日 月 年 ”无需定义

2、” /home/tools/rotatelog.sh “为你的shell的路径。

    00 00 * * * /bin/bash  /home/tools/rotatelog.sh

      OK ! 大功告成,每天的0时就会自动完成日志的切割并存在相应的以日期命名的目录中。

      $ service crond restart //重启服务


你可能感兴趣的:(NGINX日志切割)