資料來源:https://www.centos.bz/2011/03/split-nginx-logfile-eveyday/php
Nginx產生的日誌都是存在一個文件,隨着網站運行時間越長,日誌文件的大小也在不斷增加,這對咱們想分析當天日誌很是的不方便,因此須要天天把日誌文件分割出來,並以時間命名。mysql
一、登陸SSH,建立cut_logs.sh文件nginx
vi /root/cut_logs.sh
二、粘貼下面代碼到cut_logs.sh,並保存sql
#!/bin/bash # The Nginx logs path logs_path="/home/wwwlogs/" mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/ mv ${logs_path}www.juzihc.com.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/juzihc_$(date -d "yesterday" +"%Y%m%d").log kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
三、添加cut_logs.sh執行權限shell
chmod +x /root/cut_logs.sh
執行命令crontab -e進入編輯狀態
添加以下代碼,天天0點01分啓動。centos
01 00 * * * /root/cut_logs.sh
這樣天天定時分割日誌文件就設置成功了。固然若是你擔憂日誌文件佔太多空間,還能夠執行壓縮tar,並設置刪除多少天前的日誌文件。tomcat
更多相關運維資料參考:bash
如:Zabbix監控Memcached PHP-FPM Tomcat Nginx MySQL 網站日誌
memcached