Logrotate --debug が代替位置から状態を取得します。

Logrotate --debug が代替位置から状態を取得します。

これは私の設定ファイルです。

/path/to/somelog.log {
    daily
    copytruncate
    compress
    delaycompress
    nocreate
    missingok
    rotate 7
    dateext
    dateyesterday
    dateformat _%Y-%m-%d-%H-%i-%s
}

テストのために、私はいくつかのlogrotateテストを実行してみました:

$ sudo logrotate --state /dev/null --log ./logrotate.log /etc/logrotate.d/my-config

ただし、実行すると、次の項目が表示されます。

considering log /path/to/somelog.log
Creating new state
  Now: 2023-07-21 15:11
  Last rotated at 2023-07-21 15:00
  log does not need rotating (log has been already rotated)

これは変だから

ステータスファイルとして/ dev / nullを使用するように指示すると、最後にテストを実行した時間が15時かどうかはどうすればわかりますか?

(また、15:00以降にテストを実行しましたが、明らかに/var/lib/logrotate/status以外のどこかに15:00で実行したテストが保存されています。)

ステータスファイルを見ると、何も保存されませんでした。

$ cat /var/lib/logrotate/status
logrotate state -- version 2
$

とにかく、ステータスファイルに/ dev / nullを使用するように指示したので、グローバルステータスファイルに何があるかは問題ではありません。ドキュメントにステータス情報を保存する代替場所に関するコンテンツが見つからないため、テストをすばやく連続して実行できるようにテストを無視する方法はわかりません。

ベストアンサー1

おすすめ記事