ログファイルのデータを頻繁に分析し、それに応じて処理しています。入力であるログ ファイルは、無限に大きくなるファイルです。長時間実行されるプロセスが書き込みを行い、root ユーザーに属します。
ログ ファイルに対するすべてのファイル アクセス許可があります。私がやりたいことは、別のプロセスを邪魔することなく、その時点までファイルの内容のみを移動することです(ファイルの内容を取得してファイルをクリアします)。できれば、python スクリプトを使用します。
[編集] (つまり)、ログ ファイル (プライマリ) からその時点までのすべての内容をカット アンド ペーストし、それらを別の (セカンダリ) ログ ファイルに入れる必要があります。このセカンダリ ログ ファイルをデータ分析に使用します。それまでの間、長時間実行されているプロセスがプライマリ ログ ファイルに何かを書き込んでも、それが失われることはありません。新しいデータを他の内容と一緒にセカンダリ ログ ファイルに移動しても問題ありません。
[編集 2] 私が直面している主な問題は、プライマリ ログ ファイルから取得したファイルの内容をクリアすることです。プライマリ ログから読み取り、セカンダリ ログに書き込み、それらの内容をファイルから削除するときに、ファイルに書き込まれたログが失われないようにする必要があります。
TimedRotatingFileHandler を調べましたが、この点では役に立ちません。他の提案はありますか?
ありがとう