linux下 Nginx日誌分割

2021-06-18 05:50:49 字數 796 閱讀 1513

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....