カスタムログファイルを正しく作成して処理する方法は?

カスタムログファイルを正しく作成して処理する方法は?

私はWebsphere Application Server(WAS)で管理コマンドを実行する単純なbashスクリプトを書くことを任命しました。 /etc/cron.dailyフォルダに入れて毎日実行したいです(いつかわかりません)。しかし、システムがこのスクリプトのスペースを実行したいので、echoステートメントを追加しました。

#!/bin/bash
[foo command to execute]
echo "foo command is executed" > /bpm/v8/logs/foo.log

今、3つの質問があります。

  1. WASのシステムログファイル(SystemOut.log)があります。 echoの出力をSystemOut.logファイルに書き込むことはできますか?
  2. それ以外の場合は、foo.logファイルに日付/時刻スタンプを追加する方法はありますか?
  3. foo.logファイルがディスク容量を占有しないようにするにはどうすればよいですか? SystemOut.logファイルは時々圧縮され、日付/時刻スタンプで保存されることがわかります。どのようなログ回転(?)プログラムがこれを実行できると思います。

この問題の背景は、rhel v6 64ビットシステムにあります。

答え1

あなたの質問に対する答え:

  1. SystemOut.logファイルがスクリプトを実行しているのと同じまたはより高いアカウントの所有者である場合は、それに書き込むことはできますが、いつか除外するためにそのログをベンダーに提供する必要があるため、そうしないことをお勧めします。問題ログに問題がある可能性があり、最悪の場合、ファイルの整合性が損なわれたため、助けを拒否することができます(可能性は高いが不可能ではありません)。

  2. ファイル/ディレクトリの所有権と権限が許可する限り、任意の場所に書き込むことができます。

  3. このログファイルをlogrotateスコープに追加すると、目的のスケジュールに基づいてリサイクルされます。または、エコログ行の後に数行を追加してファイルを調べ、ファイルが10K行より大きい場合は、最初の9K行を切り取り、どこかに圧縮形式で保存することもできます。それは完全にあなた次第です。

関連情報