nginx 日誌切割

1.nginx_log_rotate.sh文件nginx

#nginx日誌切割腳本
#author: joshau317
#!/bin/bash

#1.設置日誌文件存放目錄,假設你的nginx的日誌存在這個目錄裏
logs_path="/data/logs/nginx/"

#2.設置pid文件,這個根據你本身的環境,找到nginx.pid所在目錄
pid_path="/usr/local/nginx/logs/nginx.pid"

#3.建立分割存儲的日期文件目錄
datetime=`date -d "yesterday" +"%Y%m%d"`;
new_log_path=$logs_path$datetime
mkdir -p $new_log_path

#4.按照日期移動全部該目錄下的日誌文件
log_file_list=`ls -l $logs_path`;
for log_file in $log_file_list;
do
    log_file_name=$logs_path$log_file;
    if [ -f $log_file_name ];
    then
        mv $log_file_name $new_log_path;
    fi
done

#5.向nginx主進程發信號從新打開日誌
kill -USR1 `cat ${pid_path}`

 

2.設置定時任務bash

0 0 * * * /data/sh/nginx_log_rotate.sh
相關文章
相關標籤/搜索