簡體   English   中英

如何配置php5-fpm.log的logrotate?

[英]How to Configure logrotate of php5-fpm.log?

我在運行nginx和php5-fpm的ubuntu 12.04上的/etc/php5/fpm/php-fpm.conf下啟用了error_log = /var/log/php5-fpm.log

但是我注意到php5-fpm.log沒有logrotate。 我試圖理解我從互聯網上找到的一些配置,但我不願意在我的生產服務器上測試它。

以下是我發現的一些配置:

/var/log/php5-fpm.log {
    rotate 12
    weekly
    missingok
    notifempty
    compress
    delaycompress
    postrotate
        invoke-rc.d php5-fpm reopen-logs > /dev/null
    endscript
}

這是配置的鏈接 據我所知,我需要的是在/etc/logrotate.d/下創建一個名為php5-fpm的文件,所以它看起來像/etc/logrotate.d/php5-fpm並帶有上面的代碼。

我還從此鏈接中找到了另一個示例,其中包含以下代碼:

    /var/log/php5-fpm.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
            [ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`
        endscript
    }

由於我是logrotate配置的新手,我想確保我要做的是正確的。

那么,這兩種配置中的哪一種是正確的? 第一個還是第二個? 我只在/etc/logrotate.d/php5-fpm創建一個文件並將代碼放在那里是否正確?

對不起,如果這是一個新手問題,我就找不到如何做到這一點的完整說明。

只是為了通過谷歌來澄清其他人:

1)

invoke-rc.d php5-fpm reopen-logs > /dev/null

這是您的發行版必須支持的內容。 選項“重新打開,日志,” 附帶由PHP源代碼包提供的默認初始化腳本。 所以你可能無法使用它。

2)

[ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`

這是正確的選項,也正式得到PHP-FPM的支持,請參閱: https//github.com/php/php-src/blob/b7a7b1a624c97945c0aaa49d46ae996fc0bdb6bc/sapi/fpm/fpm/fpm_events.c#L94

你可以從源代碼中看到這個“信號”是額外用於對數轉換的,應該優於“USR2”,它只能用於重新加載配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM