以下に示すように、UNIXbokでのシェルスクリプト実行の標準出力とエラーを追加しています
/home/mydir/shellScript.sh >> /home/mydir/shellScript.log 2>&1
現在、ログを30日間さかのぼって保持する方法を考えています。そうしないと、ログファイルのサイズが増え続けます。誰かが同じ周りの推奨事項を提供できれば幸いです。
以下に示すように、UNIXbokでのシェルスクリプト実行の標準出力とエラーを追加しています
/home/mydir/shellScript.sh >> /home/mydir/shellScript.log 2>&1
現在、ログを30日間さかのぼって保持する方法を考えています。そうしないと、ログファイルのサイズが増え続けます。誰かが同じ周りの推奨事項を提供できれば幸いです。
この種のシンニングは、通常、などのツールを使用して行われlogrotate
ます。
たとえば、Apacheのログを使用すると、以前は次のようになりました。
だから、あなたはそれを使ってあなたが求めているものを手に入れることができるかもしれないと思います。
これは長時間実行されるスクリプト(デーモンなど)ですか?それとも、何かをしてすぐに終了しますか?今日の日付に基づいてログファイルの名前を動的に作成できるため、日付が変更されるたびに新しいファイルが生成されます。
#/bin/sh
now=`date +%F`
/home/mydir/shellScript.sh >> /home/mydir/shellScript-$now.log 2>&1
previous=`date --date='30 days ago' +%F`
rm -f /home/mydir/shellScript-$previous.log 2>&1
(古いログの削除を追加)。
Pascal MARTINは正しいです-ほとんどのUNIXシステムに含まれているように、構成ファイルをに入れる/etc/logrotate.d
か、ファイルの最後にエントリを追加するのは簡単なことです。非常にわかりやすい設定ファイルで、約5分かかります。理解するためのマニュアルページで。最も簡単で保守しやすいソリューションとしてお勧めします。/etc/logrotate
logrotate
含まれているあなたの問題への多くの文脈はありません。
提供されている両方のソリューションに同意します。
また、ログファイルの命名と管理に関する私の2つのかなり長い議論を指摘したいと思います;-)。
2パネルファイルマネージャーユーザーのためのコマンドラインの知恵
これらの助けを願っています。