備忘録。
単純にログの定期削除する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の時間は適当な時間に変更して、実行テストしてみて下さい。
それで問題ないようであれば、無事に完了です!
お疲れ様でしたー!!