2014年11月21日金曜日

nginxのログ出力場所変えたらローテートされなくなった

CentOS6.5にyumでnginxを入れたのですが、
アクセスログの出力場所をデフォルトから変更したら、
ログのローテートがされなくなったので調べました。

デフォルトではローテートがちゃんとされていました。
# ls -ltr /var/log/nginx/
-rw-r----- 1 nginx adm 44342 11月  5 15:23 2014 access.log-20141106
-rw-r----- 1 nginx adm   821 11月  5 18:27 2014 error.log-20141106
-rw-r----- 1 nginx adm  7828 11月  6 03:30 2014 access.log-20141105.gz
-rw-r----- 1 nginx adm    81 11月  6 03:30 2014 error.log-20141023.gz
-rw-r----- 1 nginx adm     0 11月  6 03:30 2014 error.log
-rw-r----- 1 nginx adm     0 11月  6 03:30 2014 access.log

デフォルトから変更したら、ローテートされなくなりました。
# ls -ltr /data/test/log/
-rw-r--r-- 1 nginx root    5568410 11月  6 10:06 2014 access.log

どこでローテートの設定をしてるのか調べたところ、ここでした。
# cat /etc/logrotate.d/nginx 
/var/log/nginx/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 nginx adm
        sharedscripts
        postrotate
                [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
        endscript
}

結局logrotate側を書き換えるのも嫌だったので、ログの出力をデフォルトに戻しました。

参考URL
http://oki2a24.com/2014/07/24/logrotete-settings-of-nginx-installed-with-yum/

0 件のコメント:

コメントを投稿