メッセージがますます大きくなり、スペースが不足して圧縮しようとしています。私はすべてを試しました -メッセージ圧縮- 圧縮されたメッセージですが、実際の内容とは異なります。
glob finding old rotated logs failed
私のlogrotateはリンクのものと似ています。
# cat logrotate-message; logrotate -d logrotate-message -f;ls -lrth /var/log/messages*
daily
rotate 7
create
dateext
dateformat .%Y%m%d
compress
notifempty
nomail
noolddir
/var/log/messages {
rotate 5
daily
postrotate
/bin/killall -HUP syslogd
endscript
}
reading config file logrotate-message
Allocating hash table for state file, size 15360 B
Handling 1 logs
rotating pattern: /var/log/messages forced from command line (5 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/messages
log needs rotating
rotating log /var/log/messages, log->rotateCount is 5
Converted ' .%Y%m%d' -> '.%Y%m%d'
dateext suffix '.20191024'
glob pattern '.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
renaming /var/log/messages to /var/log/messages.20191024
creating new /var/log/messages mode = 0600 uid = 0 gid = 0
running postrotate script
running script with arg /var/log/messages: "
/bin/killall -HUP syslogd
"
compressing log with: /bin/gzip
-rw------- 1 root root 1016K Sep 29 03:13 /var/log/messages-20190929
-rw------- 1 root root 1020K Oct 6 03:34 /var/log/messages-20191006
-rw------- 1 root root 2.2G Oct 23 11:31 /var/log/messages.20191023
-rw------- 1 root root 735M Oct 24 15:41 /var/log/messages
どんな助けでも大変感謝します。
答え1
わかりました。logrotate
ログファイルが欠落して失敗しました。ただし、使用するとlogrotate -d
詳細なデバッグ出力が表示されますlogrotate does not do anything
。これを最初にすると
logrotate -v logrotate-message -f
代わりに、詳細出力と組み合わせた強制オプションは、古いログファイルが見つからないことに関連するエラーを防ぐために、欠落しているログファイルを生成するフラグの-f
動作を表示します。man logrotate
-
最初の2つのファイル名にaが必要な場所があり、パターン.
正規表現が失敗するため、4つのログアーカイブが見つかりません。手動で編集またはlogrotate -f
作成する前に削除してみてください。
また、messages
特定の構成ファイルのフォーマットにいくつかの問題があります。個々のスクリプトを含む角かっこの上に設定オプションを追加する理由はなく、messages
(読み方によってはグローバル設定オプションが上書きされる可能性があるため)、compress
その他のフラグを内部に移動する必要があります。