記録中にログファイルが切り捨てられる原因は何ですか?

記録中にログファイルが切り捨てられる原因は何ですか?

職場では、私はネットワークサーバーの管理責任を受け継いだ。 Amazon AWS EC2 で動作する CentOS Linux 仮想マシンです。 Webページを提供することに加えて、多くのスケジュールされたタスク、バックグラウンド処理、およびデータベースタスクが発生します。

私は私がOracle SQL * PlusというBashスクリプトを手動で実行していました。このスクリプトは、UPDATEステートメントペイロードを含むSQLスクリプトを読み取り、マテリアライズドビューの更新を呼び出しました。たぶんこのうち何も関係がないかもしれませんが、いくつかの文脈を提供したいと思いました。

Bashスクリプトはのログファイルに出力を書き込み、/tmpこのコマンドを使用してtail -f output.log出力を監視します。長時間(約20分)実行され、出力は端末にゆっくり表示されますが、次のメッセージが表示されます。tail: output.log: file truncatedBashスクリプトの実行が停止しました。ログファイルは存在し/tmpますが、サイズは0です。問題を解決するためにログファイルをよく見て、どのデータベースエラーが報告されているかを確認したいと思います。

私の質問は、このファイルの切り捨てが発生する原因は何ですか?ファイル自体はそれほど大きくないようです。約200行程度です。これは私にとってすべて新しいもので、どこから始めるべきか、何が間違っているのか疑うことはできません。

ベストアンサー1

/ tmpで実行するように構成される可能性はありませんが、logrotateツールは回転を実行するとファイルを切り捨てることができます。

また、プロセスが追加フラグなしでファイルに書き込むと、ファイルは切り捨てられます。 Bashでは、これは単一の>>と二重>>"の違いです。他の言語では"w"パターンではなく"a"パターンを使用します。これはすべてログを作成するプロセスによって異なります。

おすすめ記事