Tomcatのログを定期的にshellで削除する

備忘録。
単純にログの定期削除するshellです。
今回はTomcatのログを対象に。でも、別に対象はログじゃなくても何でも良いけどね。

適当に実行者の権限のあるフォルダ内にshellファイルを作成します。
1.shell配置フォルダへ移動
cd shell配置フォルダ

2.shellファイル作成
touch delete-logs.sh

3.shellファイル編集
vi delete-logs.sh
(iでinsertモードに。
※こちらによくまとまってます。viコマンド集

以下をコピペ。
===== delete-logs.sh
#!/bin/sh
# description:delete logs

# default parameters
export LANG=ja_JP.UTF-8

TOMCAT_LOG=/usr/local/tomcat/logs/

### batch main ###
find $TOMCAT_LOG -type f -mtime +94 | xargs rm -f
=====

vi 上書き保存。
(:wqで上書き保存。

さて、やってる内容ですが、
#!/bin/sh  // shellファイルですよーって宣言してます。(これ必須
# description:delete logs  // コメント(一応、どんな内容か書いてます。

# default parameters  // コメントなので任意
export LANG=ja_JP.UTF-8  // 言語設定

TOMCAT_LOG=/usr/local/tomcat/logs/  // Tomcatのログのパスを宣言

### batch main ###  // コメント
find $TOMCAT_LOG -type f -mtime +94 | xargs rm -f // 3ヶ月以上前のログを削除しています。

こんな感じ。
+94って、ところで何日前か指定してます。なので、お好きな時間に。
それから、今回は、
TOMCAT_LOG=/usr/local/tomcat/logs/
でパスを設定して、実行時に、$TOMCAT_LOGで指定してます。

なので、これもお好きな場所に。
HTTPD_LOG=/var/logs/httpd/
とかで、$HTTPD_LOGで指定してもOK。

さて、あとは、これをクーロンで毎日深夜とかに日次実行してあげれば完了です!
設定時の例)
例えば、tomcatユーザーのクーロンに設定する場合
vi /etc/spool/cron/tomcat
でtomcatユーザーのcronファイルを編集

0 0 * * * /shellの配置先/delete-logs.sh
毎日0時0分にdelete-logs.shを実行する設定を記載して上書き保存。
クーロンの設定について

cronの時間は適当な時間に変更して、実行テストしてみて下さい。
それで問題ないようであれば、無事に完了です!
お疲れ様でしたー!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です