nginx日誌切割

2021-09-14 03:05:19 字數 868 閱讀 9166

vim /root/nginx_log.sh

# /bin/bash

# 日誌儲存位置

base_path='/usr/local/nginx/log'

# 獲取昨天的時間--測試使用

day=$(date -d yesterday +"%y%m%d%h%m")

# 獲取昨天的時間--正式使用

#day=$(date -d yesterday +"%y%m%d")

# 備份昨天的日誌到當月的資料夾

mv $base_path/www'.access.log' $base_path/www.access.log_'$day.log

# 通過nginx訊號量控制重讀日誌

kill -usr1 `cat /usr/local/nginx/run/nginx.pid`

# 刪除 30天以前的日誌檔案

find . -mtime +7 -name $service_name".access.log_*" | xargs rm -f

exit 0

chmod 755 /root/nginx_log.sh

# 每分鐘執行一次---測試

*/1 * * * * /root/nginx_log.sh

# 第天凌晨00:01分執行---正式

01 00 * * * /root/nginx_split_log.sh

crond restart

如果提示以下錯誤

crond: can't lock /var/run/crond.pid, otherpid may be 4141: 資源暫時不可用

刪除/var/run/crond.pid 重新執行命令即可

nginx日誌切割

web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...

nginx 日誌切割

直接在nginx配置檔案中,配置日誌迴圈,而不需使用logrotate或配置cron任務。需要使用到 time iso8601 內嵌變數來獲取時間。time iso8601格式如下 2015 08 07t18 12 02 02 00。然後使用正規表示式來獲取所需時間的資料。使用下面的 塊 1 2 3...

Nginx日誌切割

編輯指令碼tianshl tianshl nginx vim nginx log division.sh指令碼內容 bin sh 昨天日期 yesterday date v 1d y m d 日誌目錄 log path usr local var log nginx sdk日誌路徑 sdk path...