每日一shell(八)nginx日誌切割
阿新 • • 發佈:2018-02-12
cat ron cron nta sbin nginx日誌 日誌 處理 day nginx日誌會隨著訪問量而變大,較大的日誌會影響分析日誌時對日誌的分析和處理,我們可以使用shell對nginx日誌進行定時分割,以周或者天,對於時間久的日誌可以定時刪除,減小磁盤的浪費
代碼:
# cat logrotate.sh #!/bin/bash #rotate nginx logs #writen by Aiker PATH=$PATH://usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin logs_path=/var/log/nginx d=$(date -d "-1 day" +%F) mv $logs_path/access.log $logs_path/access_${d}.log mv $logs_path/error.log $logs_path/error_${d}.log #向nginx主進程發送USR1信號重新打開日誌文件 kill -USR1 $(cat /var/run/nginx.pid)
定時切割日誌:
crontab -e
0 0 * * 0 /root/script/logrotate.sh > /dev/null 2>&1
# ll /var/log/nginx/ total 64 -rw-r--r-- 1 nginx root 3205 Feb 12 11:42 access_2018-02-11.log -rw-r--r-- 1 nginx root 41951 Feb 12 11:53 access.log -rw-r--r-- 1 nginx root 14441 Feb 9 10:12 error_2018-02-11.log -rw-r--r-- 1 nginx root 0 Feb 12 11:43 error.log
每日一shell(八)nginx日誌切割