linux下 nginx日誌分割 廢話不多說,直接上**。
#!/bin/bash
## 間隔1天執行該指令碼
## nginx 日誌檔案所在的目錄
logs_path=/usr/local/nginx/logs
## nginx 日誌檔案生成後的目錄
newlogs_path=/home/wwwlogs
## 獲取昨天的 yyyy-mm-dd
yesterday=$(date -d "yesterday" +%y%m%d)
## 移動檔案
mv $/access.log $/access_$.log
## 向 nginx 主程序傳送 usr1 訊號。usr1 訊號是重新開啟日誌檔案
kill -usr1 $(cat /usr/local/nginx/nginx.pid)
將上面**儲存為cut_nginx_logs.sh,如果通過ssh的ftp上傳,記得設定編碼。 :set ff=unix
定時自動啟動任務crontab
設定cut_nginx_logs.sh啟動時間。
執行命令crontab
-e進入編輯狀態
新增如下**,每天0點01分啟動。
01 00 * * * /bin/sh /usr/local/nginx/sbin/cut_nginx_logs.sh
:wq 退出
crontab -l 檢視運**況
service crond restart crontab重啟
linux下nginx日誌按天分割
nginx的日誌檔案沒有rotate功能。一段時間過後,日誌將越發臃腫,乙個accesslog很快就突破2.5g,因此有必要通過指令碼實現按天切割日誌。1 將日誌檔案備份到 usr local nginx logs historylog目錄下,備份的檔名稱是access yyyymmdd.log和e...
nginx日誌分割
以下這個指令碼實施的核心是 每天凌晨將日誌檔案壓縮並移動到相應的年份月份目錄下,然後重新生成日誌檔案,同時記錄日誌 bin bash logs path home wwwlog 日誌存放位置 year date y 年份 month date m 月份 day date y m d 日期 time ...
Nginx 日誌分割
usr bin bash 日誌檔案存放目錄 logs path var log nginx nginx程序pid nginx pid cat var run nginx.pid 日誌名稱 logs name date d yesterday y m d 改名 mv logs path access....