web-dev-qa-db-ja.com

サイズオプションのみのlogrotateは回転しません。これはアルパインドッカーコンテナの中にあります

アクセスログの設定は以下のとおりです

cat /etc/logrotate.d/logrotate_nginx.conf
/nginx/access/logs/*.log {
  rotate 2
  size 1k
  missingok
  compress
  notifempty
  copytruncate
}

時間間隔の構成はありません。

これは、1キロバイトに達した後、「/ nginx/access/logs /」でログをローテーションすることを意味しますか?

しかし、これは現在ログローテーションです

/ # ls -l /nginx/access/logs/
total 8
-rw-r--r--    1 root     root          1264 Jun 24 11:17 nginx-access.log
-rw-r--r--    1 root     root          1292 Jun 24 11:17 nginx-access_withbody.log
-rw-r--r--    1 root     root             0 Jun 24 11:16 nginx-error.log

これはlogrotate.statusです

/ # cat /var/lib/logrotate.status
logrotate state -- version 2
"/var/log/acpid.log" 2019-6-24-11:0:0
"/mnt/mesos/sandbox/logs/nginx-error.log" 2019-6-24-11:0:0
"/mnt/mesos/sandbox/logs/nginx-access.log" 2019-6-24-11:0:0
"/mnt/mesos/sandbox/logs/nginx-access_withbody.log" 2019-6-24-11:0:0

なぜ回転しないのか知りたい。問題がconfにある場合。そして文書によると

サイズサイズ

このオプションは、時間間隔オプションと相互に排他的です。
時間基準の後に指定されている場合、最後のローテーション時間に関係なく、ログ
ファイルがローテーションされます。
2
Sachin DG

Alpine Linuxでは、cronはデフォルトでは開始されません。したがって、どのフォルダー内のジョブも実行されません。解決策はcrondでcronを開始することでした

1
Sachin DG

から logrotate.statusファイルを含めると、ログが最後に11:00にローテーションされたように見えます。ディレクトリリストから、ファイルがその後更新されたことがわかります。

これは、logrotateジョブが1時間ごとに実行されることを意味している可能性があります。ログローテーションジョブを再度実行するとき、または手動で実行するときに、ログをローテーションする必要があります。

1
Kusalananda