単一のファイルを圧縮する... zram?クロップ?

単一のファイルを圧縮する... zram?クロップ?

私たちは古いcentos 5.11サーバーを持っています。ファイルシステムはext3なので変更できません。

単一ファイル(大容量ログファイル)に対してリアルタイム圧縮を実行できますか?

zram:リポジトリに見つかりません...

クロップは使えますか?

答え1

明らかに、cloopデバイスは読み取り専用です。それにもかかわらず、カスタムカーネルモジュールを構築する必要があります。

zram はバージョン 3.14 から始まる標準カーネルでのみ使用できるため、Centos 5.x の標準カーネルバージョン 2.6.18 は古すぎます。

本当にそうだと思います。XYの問題:大容量ログファイルを生成したプログラムを確認し、その処理方法を問い合わせる必要があります。

大容量ログファイルのより一般的な解決策は、ログファイルの回転です。つまり、ログファイルの既存の内容を別の場所にコピーし、コピーが完了するとすぐにアクティブなログファイルを切り捨てます。ログを生成するプログラムがfseek(file, 0L, SEEK_END)各新しいログエントリを書き込む前に同等の操作を実行すると、ログは問題なく切り捨てられます。

ただし、プログラムがログファイルの最後の書き込み場所を記憶し、最後の書き込み操作以降にファイルが変更されていないと仮定し、その場所を明示的に見つけると、すぐに次のデモを見ることができます。足りないPOSIX互換ファイルシステムのファイル:切り捨てられた部分が再び表示され、ゼロバイトで埋められます。ただし、これらのバイトは物理ディスク領域を占有しません。

通常、長期作業用に設計された多くのアプリケーションは、ログファイルの即時切り捨てを可能にするか、ログファイルを回転させるためのメカニズムが組み込まれています。たとえば、一部のアプリケーションでは、特定のシグナルを受信すると、ログファイルを閉じて再度開きます。

CentOS 5.xにはlogrotate標準設定の一部としてツールもあります。回転したいログファイルと目的の回転スケジュール(毎日、毎週など)を識別する設定ファイルを配置すると、次の/etc/logrotate.d操作が実行されます。 。

関連情報