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 {}