tailが削除され、再生成されたログファイルとその親ディレクトリに自動的に再接続されるようにする方法

tailが削除され、再生成されたログファイルとその親ディレクトリに自動的に再接続されるようにする方法

servicemixインスタンス(パス=)--follow=nameでログファイルを表示するオプションと一緒にtailを使用しています。${smx_home}/data/log/servicemix.log

ServiceMixにはキャッシュなしで完全に再起動する「良い」機能があり、servicemix clean$ {smx_home} / dataディレクトリ全体も削除しているようです。

フォルダとログファイルが削除されると、次のメッセージが表示されます。

tail: data/log/servicemix.log: No such file or directory

Ctrl-Cを押して、次のようにテールコマンドを再起動する必要があります。

tail --follow=name data/log/servicemix.log

ServiceMixの「クリーンブート」がファイルだけでなくディレクトリ全体を削除し、初期inodeが無効であるため、問題が発生します。

削除されたログにtailを再接続する方法はありますか?

tailが機能しない場合、代替方法はありますか(例:moreまたは使用less)?

修正する:

-F --followまた、と様々な組み合わせをテストしました。--retry

tail --follow=name --retry data/log/servicemix.log

これも機能しません。

私の尾バージョンは

tail (GNU coreutils) 8.4

ベストアンサー1

8.26より前のバージョンのcoreutilsでは、tailフォルダ内のファイルを削除し続けることはできないようです。あなたはそれを使用することができますless

less --follow-name +F data/log/servicemix.log

おすすめ記事