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

1、日誌分割的要求
nginx

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

2、Linux平臺下的日誌分割ide

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

先建立一個 Shell 腳本,以下:(這裏個人日誌目錄在/var/log/tengine-2.1.1/)rest

vi Tengine-log-qiege日誌

#!/bin/bashorm

## 零點執行該腳本進程

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

LOGS_PATH=/var/log/tengine-2.1.1/it

## 獲取昨天的 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)


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

# vi /etc/crontab

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

# service crond restart

# chkconfig crond on


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

相關文章
相關標籤/搜索