ログローテーション
第 3 版(2009-09-04 11:29:05 · akkun_choi)を表示しています。 最新版に戻る
logrotate
Unixについてるやつ。
logrotate.confに従ってファイルをリネームする。
/var/logらへんはだいたい標準でやってくれてる。
cronで /etc/cron.daily/logrotate あたりに登録されている。
世代数指定できるが、あんまり大きい数にすると重くなる(かも)
最大数を越えると削除されるので、定期的にアーカイブしなければならない。
apacheのログをローテーションにかけるなら、新しいファイルをapacheに認識させないといけないので再起動しなければならない。
rotatelogs
apacheについてるやつ。
書き出し時に分ける。
apache起動するとrotatelogsというプロセスが立ち上がっている。
こちらの方が処理のタイムラグが少ない。
logrotateと違って削除されることはない。
# CustomLog "|/usr/sbin/rotatelogs /path/to/access.%Y%m%d.log 86400 540" combined
月別アーカイブ
tarするとき毎回cdしなきゃダメなのかなぁ。
この辺がヒントっぽかったけど無理だった
http://www.21linux.com/archives/2005/12/tar.html
#!/bin/sh
#
# log-archive.sh {baseDirectory} {target}
#
base=$1
cd $base
dir="archive"
target="$2"
if [ ! -d "$dir" ] ; then
mkdir "$dir"
fi
month=`date +%Y%m`
tarFile="$dir/$month.tar.gz"
if [ -f $tarFile ]
then
tar zxvf $tarFile
fi
if [ -e $target ]
then
tar zcvf "$tarFile" $target
rm -rf $target
fi履歴
- 第 9 版akkun_choi2009-09-24 23:43:37
- 第 8 版akkun_choi2009-09-09 20:09:41
- 第 7 版akkun_choi2009-09-09 20:08:21
- 第 6 版akkun_choi2009-09-04 11:41:15
- 第 5 版akkun_choi2009-09-04 11:40:51
- 第 4 版akkun_choi2009-09-04 11:40:08
- 第 3 版akkun_choi2009-09-04 11:29:05
- 第 2 版akkun_choi2009-09-04 03:10:48
- 第 1 版akkun_choi2009-09-04 03:05:24
タグ
「ログローテーション」タグが付けられた単語
他の人の「ログローテーション」
- 2009-09-10