logrotate は手動では動作しますが、Ubuntu 18.04 では cron 経由では自動的に動作しません。

logrotate は手動では動作しますが、Ubuntu 18.04 では cron 経由では自動的に動作しません。

nginx ログをローテーションするための logrotate タスクがあります。設定ファイルは /etc/logrotate.d/nginx にあります。 を実行するとlogrotate -f /etc/logrotate.d/nginx、ログを正しくローテーションできるので、設定ファイルは正しいことになります。

のように cron にコマンドを入れると0 0 * * * logrotate -f /etc/logrotate.d/nginx、ログはローテーションされません。 /var/log/cron.log を見るとCRON[6006]: (root) CMD (logrotate -f /etc/logrotate.d/nginx)、コマンドが実行されたことが分かります。何か問題があるのでしょうか?

私の logrotate 設定ファイルは次のとおりです:

/var/log/nginx/access.log {
    daily
    rotate 3
    compress
    copytruncate
    dateext
}

/var/log/nginx/error.log {
    daily
    rotate 7
    compress
    copytruncate
    dateext
}

関連情報