clonosplitしたapacheログを圧縮するスクリプト
スポンサードリンク
Linuxでapacheのログをcronosplitで分割しているとき、たとえば
CustomLog "|/usr/sbin/cronolog /var/log/httpd/daily/%Y/%m/access_log.%Y%m%d" combined
などしているときの、月が変わったタイミングで実行すると圧縮してくれるスクリプトを作ってみたがシェルスクリプトってよくわかんないのであまりまじめに参考にしないでね。
cronosplitで、ログは /var/log/httpd/daily/2010/09 あたりに、月ごとに入っているっていう想定。
#!/bin/sh SYSTEM_MONTH=`date --date '1 month ago' '+%Y/%m'`; SYSTEM_MONTH2=`date --date '1 month ago' '+%Y%m'`; LOG_BASEDIR='/var/log/httpd/daily' LOG_DIR="${SYSTEM_MONTH}" ARCHIVE="${SYSTEM_MONTH2}.tbz" cd ${LOG_BASEDIR} echo "ベースディレクトリ :${LOG_BASEDIR}" echo "Apacheログ格納ディレクトリ:${LOG_DIR}" echo " ↓" echo "アーカイブファイル :${ARCHIVE}" # カレントディレクトリ内に ${LOG_DIR} ディレクトリが存在するか? if [ ! -d ${LOG_DIR} ]; then echo "ディレクトリが存在しません。実行を中止します。" exit 1 fi # tarで圧縮 tar jcvf ${ARCHIVE} ${LOG_DIR} if [ $? -eq 1 ] ; then echo "tar圧縮が異常終了しました。実行を中止します。" exit 1 fi echo "${LOG_BASEDIR}/${ARCHIVE} tar圧縮成功。" exit 0
削除までしないと意味ねーんじゃねえかっていう人もいると思いますが、rmって怖いのでわざと載せない。そういうドキドキは自分て体験しろってこってす。
投稿 大野 義貴 [パソコン・インターネット] | 固定リンク |
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3359
コメントする