1. 程式人生 > 其它 >nginx學習-日誌切割

nginx學習-日誌切割

nginx日誌檔案會非常大
cut_my_log.sh

#!/bin/bash
#設定日誌檔案存放目錄
LOG_HOME="/usr/local/software/nginx/logs/"
log_file_commaccess=aa.access.log;
log_file_commerror=aa.error.log;
pid=/usr/local/software/nginx/logs/nginx.pid
yestime=`date -d '-1 day' +%Y%m%d`
#備分檔名稱
mv ${LOG_HOME}/${log_file_commaccess}   ${LOG_HOME}/${yestime}.${log_file_commaccess}
mv ${LOG_HOME}/${log_file_commerror}   ${LOG_HOME}/${yestime}.${log_file_commerror}
#向nginx主程序發訊號重新開啟日誌 
kill -USR1 `cat $pid`

新增可執行許可權

chmod +x cut_my_log.sh

新增定時任務

# centos7z中自帶,crontabs。也可以通過yum安裝
yum install crontabs
# 開啟定時任務檔案,並新增一行新的任務
crontabs -e
0 0 * * *  sh /usr/local/software/nginx/cut_nginx_log.sh

重新啟動定時任務

service crond restart

定時任務其他命令

service crond start
service crond stop
service crond reload
crontab -e #編輯任務
crontab -l #檢視任務列表

cron表示式一般分5個或者6個域

星期 年(可選)
取值範圍 0-59 0-23 1-31 1-12 1-7 2019/2020/2021

每分鐘
*/1 * * * *
每天凌晨23點59分
59 23 * * *