nginx日誌按日期自動切割指令碼

2022-06-15 20:18:15 字數 851 閱讀 1567

#!/bin/bash

#nginx日誌切割指令碼

#author:setevn

#設定日誌檔案存放目錄

logs_path="/usr/local/nginx/logs/"

#設定pid

檔案pid_path="/usr/local/nginx/nginx.pid"

#重新命名日誌檔案

mv $access.log $access_$(date -d "yesterday" +"%y%m%d").log

#向nginx

主程序發訊號重新開啟日誌

kill -usr1 `cat $`

crontab 設定 

0 0 * * * bash /usr/local/nginx/nginx_log.sh

這樣就每天的0點0分把

nginx

日誌重新命名為日期格式,並重新生成今天的新日誌檔案。

split [--help][--version][-《行數》][-b 《位元組》][-c 《位元組》][-l 《行數》][要切割的檔案][輸出檔名]

補充說明:split可將檔案切成較小的檔案,預設每1000行會切成乙個小檔案。

參  數:

-《行數》或-l《行數》  指定每多少行就要切成乙個小檔案。 

-b《位元組》  指定每多少字就要切成乙個小檔案。 

-c《位元組》  與-b引數類似,但切割時盡量維持每行的完整性。 

--help  顯示幫助。 

--version  顯示版本資訊。 

[輸出檔名]  設定切割後檔案的前置檔名,split會自動在前置檔名後再加上編號。

nginx按小時切割日誌

有的日誌比較大,一天的日誌就有200g一台機器,如果按天切割日誌,檔案太大了,需要按小時切割日誌。下面講述乙個按小時切割日誌的方法,通過apache的cronolog來完成日誌的切割。1 首先安裝日誌切割 yum install httpd 2 配置nginx的日誌落地檔名,比如 opt log a...

按天切割nginx訪問日誌

1.新建切割日誌指令碼vi usr local nginx cut nginxlog.sh bin bash 日誌檔案存放目錄 logs path usr local nginx logs pid檔案 pid path usr local nginx nginx.pid 重新命名日誌檔案 mv ng...

nginx實現日誌按天切割

nginx的日誌檔案沒有rotate功能。一段時間過後,日誌將越發臃腫,乙個accesslog很快就突破1g,因此有必要通過指令碼實現按天切割日誌。1 重新命名日誌檔案,如更改為access yyyymmdd.log,需注意的是nginx通過檔案描述符定位日誌檔案,因此在重新命名之後還是能往該檔案內...