溫馨提示×

Ubuntu上PHP日志輪轉怎么做

小樊
44
2025-08-25 03:15:05
欄目: 編程語言

在Ubuntu系統上,PHP日志輪轉通常是通過logrotate工具來實現的。logrotate是一個用于管理日志文件的實用程序,它可以自動壓縮、刪除和輪轉日志文件。要配置PHP日志輪轉,請按照以下步驟操作:

  1. 確保logrotate已安裝:

    在Ubuntu上,logrotate通常已經預裝。如果沒有,可以使用以下命令安裝:

    sudo apt-get update
    sudo apt-get install logrotate
    
  2. 創建或編輯logrotate配置文件:

    /etc/logrotate.d目錄下,創建一個名為php-fpm的新文件,或者編輯現有的文件(例如/etc/logrotate.d/php7.x-fpm,其中x是PHP版本號)。

    sudo nano /etc/logrotate.d/php-fpm
    
  3. 添加以下配置:

    /var/log/php-fpm/*.log {
        daily
        missingok
        rotate 7
        compress
        notifempty
        create 0640 www-data adm
        sharedscripts
        postrotate
            if [ -f /var/run/php-fpm/php-fpm.pid ]; then
                sudo kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`
            fi
        endscript
    }
    

    這里的配置表示:

    • 每天輪轉日志文件
    • 如果日志文件丟失,不要報錯
    • 保留7個輪轉日志文件
    • 使用gzip壓縮舊的日志文件
    • 如果日志文件為空,則不進行輪轉
    • 創建新的日志文件,權限為0640,屬主為www-data,屬組為adm
    • 在輪轉日志文件之前和之后執行的腳本

    postrotate腳本用于通知PHP-FPM重新打開日志文件,以便新的日志文件開始記錄。這里使用kill -USR2命令發送USR2信號給PHP-FPM主進程。

  4. 保存并退出編輯器。

現在,logrotate將按照配置的規則自動輪轉PHP日志文件。你可以使用以下命令手動觸發日志輪轉:

sudo logrotate -f /etc/logrotate.d/php-fpm

這將強制執行日志輪轉,即使尚未到達預定的輪轉時間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女