天天自動分割Nginx日誌文件

資料來源: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

設置cut_logs.sh啓動時間

執行命令crontab -e進入編輯狀態
添加以下代碼,天天0點01分啓動。centos

01 00 * * * /root/cut_logs.sh

這樣天天定時分割日誌文件就設置成功了。固然若是你擔憂日誌文件佔太多空間,還能夠執行壓縮tar,並設置刪除多少天前的日誌文件。tomcat


更多相關運維資料參考:bash

https://www.centos.bz/ 運維

如:Zabbix監控Memcached PHP-FPM Tomcat Nginx MySQL 網站日誌
memcached

相關文章
相關標籤/搜索