Nginx 指令碼自動進行日誌切割

2022-08-26 22:42:31 字數 774 閱讀 5849

隨著**的執行時間越來越長,日誌檔案也會隨之越來越大

需要對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還是會向你重新命名的檔案寫日誌,...