nginx日誌切割

1.編寫日誌腳本nginx

#!/bin/bash
#這個腳本需在天天的00:00 運行vim

#Nginx日誌文件的存放路徑
logs_path="/usr/local/nginx/logs"bash

#建立文件夾
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")
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)日誌

二、上傳腳本到/usr/local/nginx/logs/下 
三、並附執行權限
chmod +x cut_nginx_log.shcrontab

四、編寫定時任務  天天0點0分 執行cut_nginx_log.sh腳本
crontab -e
0 0 * * *  root /usr/local/nginx/logs/cut_nginx_log.sh
或者 
vim /etc/crontab
0 0 * * *  root /usr/local/nginx/logs/cut_nginx_log.sh配置

 或者輸入命令 vi /etc/crontabdate

文件末尾添加配置(14點24分啓動)定時任務

24 14 * * * root /usr/local/nginx/logs/cut_nginx_log.shfile


###########################日誌清理(未測試)#################################


一、上傳腳本到/usr/local/nginx/logs/下 
二、並附執行權限
chmod +x rm_nginx_logfile.sh

三、編寫定時任務  天天0點0分 rm_nginx_logfile.sh腳本
crontab -e
0 0 * * *  root /usr/local/nginx/logs/rm_nginx_logfile.sh
或者 
vim /etc/crontab
0 0 * * *  root /usr/local/nginx/logs/rm_nginx_logfile.sh

cat   rm_nginx_logfile.sh 

#!/bin/bash#日誌所在路徑LOGS_PATH=/usr/local/nginx/logs#設置保留時間  單位(天)SAVE_TIME=30#執行最終的命令 #查找 修改日誌在30天前的同時以log結尾的文件而後刪除#若是沒有-name選項過30以後腳本會被刪除掉find ${LOGS_PATH}/ -mtime +${SAVE_TIME} -name \*.log |xargs rm -rf {}

相關文章
相關標籤/搜索