広告 Linux

複数ファイルをログローテートしようとしてできなかった話

logrotateではまりかけたのでメモ

設定は正しいはずなのにローテートされない

以下のようなファイルを置いて
Apacheログがローテートされるはずがまったくされない

# cat /etc/logrotate.d/httpd
/var/site/hoge/logs/*.log
/var/site/fuga/logs/*.log
/var/site/piyo/logs/*.log
{
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

結論

/var/site は /mnt/site をシンボリックリンクしていたことが原因。

logrotatedはシンボリックリンクのパスを複数指定するときちんと認識してくれないご様子。

# cat /etc/logrotate.d/httpd
/mnt/site/hoge/logs/*.log
/mnt/site/fuga/logs/*.log
/mnt/site/piyo/logs/*.log
{
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

1つの設定ファイルで複数のログファイルをローテーションさせるときは注意が必要ですねー

Sponsor Link

-Linux