隨著**的執行時間越來越長,日誌檔案也會隨之越來越大
需要對nginx日誌進行切割,下面是每週六晚上自動進行日誌切割的shell指令碼
指令碼如下:
[root@jrjs ~]# vim /usr/local/nginx/logbak.sh #新建指令碼名為logbak.sh
#!/bin/bash #直譯器
date=`date +%y%m%d` #自定義date變數,值等於當前日期
logpath=/usr/local/nginx/logs #自定義logpath變數,值等於nginx日誌所在路徑
mv $logpath/access.log $logpath/access-$date.log #把當前access日誌重新命名
mv $logpath/error.log $logpath/error-$date.log #把當前error日誌重新命名
kill -usr1 $(cat $logpath/nginx.pid) #向nginx主程序傳送usr1訊號,重新開啟生成日誌檔案,如不傳送usr1,nginx將會繼續寫入改名之後的日誌
接下來把寫好的指令碼寫入計畫任務,自動執行。
[root@jrjs ~]# crontab -e #開啟計畫任務表
01 02 * * 6 /usr/local/nginx/logbak.sh #每週六凌晨2:01執行指令碼進行日誌切割
nginx自動切割日誌訪問檔案指令碼
bin bash this script run at 00 00 the nginx logs path logspath var log nginx cd logspath mv error log error log.date d yesterday y m d files ls access...
nginx日誌按日期自動切割指令碼
bin bash nginx日誌切割指令碼 author setevn 設定日誌檔案存放目錄 logs path usr local nginx logs 設定pid 檔案pid path usr local nginx nginx.pid 重新命名日誌檔案 mv access.log access...
nginx日誌切割指令碼
nginx的日誌檔案沒有rotate功能。如果你不處理,日誌檔案將變得越來越大,還好我們可以寫乙個nginx日誌切割指令碼來自動切割日誌檔案。第一步就是重新命名日誌檔案,不用擔心重新命名後nginx找不到日誌檔案而丟失日誌。在你未重新開啟原名字的日誌檔案前,nginx還是會向你重新命名的檔案寫日誌,...