インフラエンジニアbacchiのわかったことまとめ

bacchi.me

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

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つの設定ファイルで複数のログファイルをローテーションさせるときは注意が必要ですねー

  • B!