Linux で特定のログファイルのサイズを制限する

Linux で特定のログファイルのサイズを制限する

膨大なスペースを占めるログ ファイルがいくつかあり、Linux ではそれを 10 MB に制限したいと考えています。

たとえば、test.log ファイルは 10 MB を超えないようにする必要があります。そのファイルへのログの送信は停止されます。

これを実現するための可能な手順またはコマンドを共有していただけますか?

答え1

に触発された同様の質問に対するアレックスの回答もしログ ファイルの場所を制御して別のディレクトリに配置し、特定のサイズのファイルでバックアップされたループ マウントを作成できます。そのサブディレクトリへの書き込みは、バックアップ ファイルのサイズによって制限されます。複数のログ ファイルを処理する必要がある場合、これは面倒になります。

## adjust the size to taste for filesystem overhead
dd if=/dev/zero of=./10mb.img bs=1M count=12 
/sbin/mkfs.ext4 10mb.img
mkdir logdir
sudo mount -t ext4 -o loop 10mb.img logdir

sudo dd if=/dev/urandom of=logdir/test.log
dd: writing to ‘logdir/test.log’: No space left on device
21033+0 records in
21032+0 records out
10768384 bytes (11 MB) copied, 2.3511 s, 4.6 MB/s

答え2

emlogモジュールは役に立つでしょうか?https://serverfault.com/questions/133320/ログファイルを循環バッファに変換する、しかしそれが適切かどうかはわかりません。

関連情報