天天看點

使用logrotate管理nginx日志檔案

描述:linux日志檔案如果不定期清理,會填滿整個磁盤。這樣會很危險,是以日志管理是系統管理者日常工作之一。我們可以使用"logrotate"來管理linux日志檔案,它可以實作日志的自動滾動,日志歸檔等功能。下面以nginx日志檔案來講解下logrotate的用法。

配置:

1、在/etc/logrotate.d目錄下建立一個nginx的配置檔案"nginx"配置内容如下

#vim /etc/logrotate.d/nginx

/usr/local/nginx/logs/*.log {

daily

rotate 5

missingok

notifempty

sharedscripts

postrotate

    if [ -f /usr/local/nginx/logs/nginx.pid ]; then

        kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

    fi

endscript

}

儲存退出。

2、執行logrotate

#/usr/sbin/logrotate -f /etc/logrotate.d/nginx

在/usr/local/nginx/logs目錄中會産生

error.log

error.log.1

說明logrotate配置成功。

3、讓logrotate每天進行一次滾動,在crontab中添加一行定時腳本。

#crontab -e

59 23 * * *  /usr/sbin/logrotate -f /etc/logrotate.d/nginx

每天23點59分進行日志滾動

4、配置檔案說明

daily:日志檔案每天進行滾動

rotate:保留最5次滾動的日志

notifempty:日志檔案為空不進行滾動

sharedscripts:運作postrotate腳本

下面是一個腳本

腳本讓nginx重新生成日志檔案。

============================簡易配置================================

more /etc/logrotate.d/nginx 

/usr/local/nginx/logs/access.log {

dateext

rotate 10

copytruncate

本文轉自秋楓部落格園部落格,原文連結:http://www.cnblogs.com/rwxwsblog/p/5377194.html,如需轉載請自行聯系原作者

繼續閱讀