RHEL4を使用しています。
tail -F file_name*.log
時間が0000にロールオーバーすると、法線は更新されません。
これまでWeb検索でネストを使用しようとしたことは次のとおりですtail
。
tail -F $(ls -tr file_name*.log | tail -n 1)
tail -F $(fine . -maxdepth 1 -type f -printf "%T@ %p\n" | sort -n | tail n 1 | cut -d' ' -f 2-)
これらのどれも新しいファイルにロールオーバーしません。平凡で古いtail -F file_name*.log
アプローチは私の小さなテストケースではうまくいきますが(上記の2では動作しません)、実際のログファイルを追跡しても機能しません。
答え1
tail
単一ファイルまたは起動時に決定された最大ファイルセットを監視します。コマンドでは、tail -F file_name*.log
シェルは最初にワイルドカードパターンを展開し、その時点で存在するtail
すべてのファイルからそれを呼び出します。
ワイルドカードベースのファイルセットを監視するには、次のものを使用できます。マルチテール。
multitail -iw 'file_name*.log' 1
答え2
これはうまくいきません。最新のファイルを決定するために使用するサブシェルは一度だけ実行されます。シェルはワイルドカードを一度だけ評価するため、globは機能しません。
これを処理する1つの方法は、「ウォッチ」を使用してプロセス全体を実行することです。ただし、これにより数秒ごとに出力が破損します。
答え3
尾を追跡するには、何かを書く必要があるかもしれません。または、深夜にログ(またはログ)をローリングしないようにシステムを構成します。どちらもスクロールすると、テールログファイルのファイルハンドルがリセットされます。