Logrotateの方が新しいです。 configureがプロパティ "dateformat"になると、logrotateはstrftime "%H"をサポートしていないようです。ここに設定があります:
{
daily
rotate 2
size 3M
missingok
notifempty
dateext
dateformat -%Y%m%d_%H:%M:%S
...
}
ローテーションされたファイル形式は次のようになる傾向があります:uwsgi_dev.log-20150630_%H:%M:%Sが、正確な「時分と秒」が欲しい.
ありがとう
%Hのサポートはバージョン .9. で追加されました。以前のバージョンでは、logrotateはstrftime "%H:
dateformat format_string:strftime(3)関数と同様の表記法を使用して、dateextの拡張子を指定します。 %Y%m%dおよび%s指定子のみが許可されています。
Logrotateのmanページから http://linux.die.net/man/8/logrotate
ただし、dateformat文字列では_%s
_を使用できます。これは1970-01-01からの秒数です。 _dateformat -%Y%m%d-%s
_を設定できます。これにより、ログがローテーションされるたびに一意のファイル名が生成されるため、ファイルを1日に複数回ローテーションできます。残念ながら、_%s
_の部分は読みづらくなりますが、Perl -e "print scalar(localtime(1451214849))"
を使用して簡単に読み取り可能な日付に戻すことができます。
一部のシステムでは、date
プログラムを使用すると、_date -d @1451214849
_(例GNU date
)を使用してこのような変換を簡単に実行できます。ほとんどのシステム(例: Solaris date
)の場合、_date -d "1970-01-01 + 1451214849 sec"
_のような構文で運がよいかもしれません。Busyboxdate
は_@
_トリックのみをサポートし、2番目の例の複雑な式はサポートしないことに注意してください。