歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用logrotate管理nginx日志文件

使用logrotate管理nginx日志文件

日期:2017/2/27 16:00:27   编辑:Linux教程
描述: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
[ -f /usr/local/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
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腳本
下面是一個腳本
postrotate
[ -f /usr/local/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
endscript

腳本讓nginx重新生成日志文件。
Copyright © Linux教程網 All Rights Reserved