Tengine高性能部署之—日誌分割

一、日誌分割的要求

    由於 Tengine 的日誌都是寫在一個文件當中的,因此,我們需要每天零點將前一天的日誌存爲另外一個文件,這裏我們就將 Tengine 位於 logs 目錄中的 access.log 存爲 access_[yyyy-MM-dd].log 的文件。其實 logs 目錄中還有個 error.log 的錯誤日誌文件,這個文件也需要每天切割一個,在這裏就說 access.log 了,error.log 的切割方法類似。

二、Linux平臺下的日誌分割

     在 Linux 平臺上進行切割,需要使用 date 命令以獲得昨天的日期、使用 kill 命令向 Nginx 進程發送重新打開日誌文件的信號,以及 crontab 設置執行任務週期。

先創建一個 Shell 腳本,如下:(這裏我的日誌目錄在/var/log/tengine-2.1.1/)

vi Tengine-log-qiege

#!/bin/bash

## 零點執行該腳本

## Tengine 日誌文件所在的目錄

LOGS_PATH=/var/log/tengine-2.1.1/

## 獲取昨天的 yyyy-MM-dd

YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

## 移動文件

mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log

mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log

## 向 Tengine 主進程發送 USR1 信號。USR1 信號是重新打開日誌文件

kill -USR1 $(cat /usr/local/tengine-2.1.1/logs/nginx.pid)


三、設置計劃任務,此處設置爲每天00:00執行一次

# vi /etc/crontab

0  0  *  *  * root /home/Tengine-log-qiege

# service crond restart

# chkconfig crond on


至此Tengine的日誌分割已完成。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章