CodeIgniter logrotate config

在用 CodeIgniter 時
一直有一個很困擾的問題
就是 Log 數量過多

但是想要使用 logrotate 時
又因為那該死的檔名
導致很難設定 logrotate 的設定
後來終於讓我想到折衷一個設定方式

# /etc/logrotate.d/codeigniter
# 須改用自己的網頁路徑
/var/www/html/application/logs/log.php {
compress # 需要壓縮
daily # 每天輪換
dateext # 使用日期格式
dateformat -%Y-%m-%d # 模擬 CodeIgniter 的輸出格式
delaycompress # 延遲壓縮
extension .php # 副檔名維持 .php
missingok
rotate 7 # 保持 6 天(有一天是今天)
su www-data www-data
create 666 www-data www-data
lastaction
# 須改用自己的網頁路徑
chmod u+rw /var/www/html/application/logs/*.php
endscript
}

設定完以後,需要手動新增一個假的檔案

# 須改用自己的網頁路徑
touch /var/www/html/application/logs/log.php

這樣就完成啦!
可以使用以下指令來確認 logrotate 是否可以正確執行

logrotate -vf /etc/logrotate.d/codeigniter