Shellスクリプトカットtomcatのログファイル
デバッグlogbackとlog 4 jのファイルカットがなかなか成功しないため、shellでシナリオを書いてtomcatのログファイルをカットします。
1:無駄話はもちろん、台本を直接貼り付けます。
そしてタイマーを使って、タイミングよくこのスクリプトを実行します。
2:crontab-eでタイマーコードを編集します。
*/1****sh/lee_js/monitor_script.sh/opt/apache-tomcat-7.0.67/logs/catalina.out啣の最初のパスはシナリオのパスで、2番目のパラメータはtomcatのcatalina.outファイルの絶対パスです。
保存します
これでログカットを終わらせます。
注:crontabコマンドがない場合はyumでインストールできます。
1:無駄話はもちろん、台本を直接貼り付けます。
#!/bin/sh
log_dir=/var/log/tomcat
monitor_file=$1 #tomcat catalina.out
file_size=`du $monitor_file | awk '{print $1}'`
if [ $file_size -ge 102400 ]
then
if [ ! -d $log_dir ]
then
mkdir /var/log/tomcat # , ,
fi
cp $1 /var/log/tomcat/log-`date +%Y-%m-%d-%H%M%S`.log #
echo `date +%Y-%m-%d-%H:%M:%S`": " >>/var/log/tomcat/split.log #
echo "" > $1 # tomcat log/catalina.out
fi
説明:このスクリプトは簡単です。linuxはタイマーでログファイルのサイズをスキャンします。つまりファイルが100 M以上の場合、先に指定されたディレクトリにファイルをコピーして、元のtomcatのログファイルをクリアします。ここではcrontabでタイマーを使います。このコマンドの文法についてはここで多くは言いません。興味があるのは自分でgoogleです。ここではまだ小さい不足があります。毎分の時間でログファイルをスキャンするので、最後にファイルのサイズをカットします。そしてタイマーを使って、タイミングよくこのスクリプトを実行します。
2:crontab-eでタイマーコードを編集します。
*/1****sh/lee_js/monitor_script.sh/opt/apache-tomcat-7.0.67/logs/catalina.out啣の最初のパスはシナリオのパスで、2番目のパラメータはtomcatのcatalina.outファイルの絶対パスです。
保存します
これでログカットを終わらせます。
注:crontabコマンドがない場合はyumでインストールできます。
yum install vixie-cron
yum install crontabs
以上は小编が皆さんに绍介したShell脚本カットtomcatのログファイルです。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。