シェルスクリプトでlogrotateを実装する方法

シェルスクリプトでlogrotateを実装する方法

テストファイル

#!/bin/bash
echo "Hello World"

test2.sh

#!/bin/bash
while true
do
    sh test.sh >> /script_logs/test.log &
done

logrotateを実装してログファイルのサイズを変更したいのですが、上記のような場合はlogrotateを実装する方法を教えてください。

ベストアンサー1

試してみてはいかがでしょうかsavelog

これはDebianとRH、そして私が知っている他のほとんどすべてのLinuxディストリビューションで動作します。これは/bin/shシェルスクリプトなので、他のUnixでも実行する必要があります。

test.logたとえば、runを書く前にsavelog -n -c 7 test.log。これにより、test.logの空でない最新の7つのバージョンが維持されます。デフォルトでは、回転したログを圧縮します(ただし、これを使用して無効にすることができます-l)。

必要に応じてサイズを確認しtest.logsavelog特定のサイズを超える場合にのみ確認できます。

おすすめ記事