人気コンテンツ今日: |
Solaris | Apacheのログローテーションを毎晩0時に実行するsasaki 火曜, 2008-04-08 17:28
毎晩0時にApacheのログをローテーションする。 1月1日0時 〜 1月1日24時 > access_log.20080101.gz 1月2日0時 〜 1月2日24時 > access_log.20080102.gz という感じ。
Apacheを再起動するので、root ユーザで実行する。再起動といっても停止・起動ではなく、kill -HUPしているだけ。
■Apacheのログをローテーションするスクリプトlogrotate.sh (700か744にしてrootだけが実行できるようにしておく) #! /bin/sh LOGDIR ログが置いてあるディレクトリを指定する。 LOGFILES ログファイル名を指定する。複数指定が可能。 DATE 夜、0時にこのスクリプトが実行されるので、前日の日付を求める。
今が、00:02:54だとすると、 $ date 一時的にタイムゾーンを指定して表示する。上と同じ表示になる。 $ TZ=JST-9 date 7時間前の時間を求めると、確実に前日を求めることができる。JST-9+7なので、JST-2となる。 TZ=JST-2 date 7時間後の場合は、JST-9-7なので、JST-16となる。(プラスとマイナスが逆なので注意)
■Cronで毎晩0時にログローテーションを実行するrootユーザが実行できるようにsu - してからcronを編集する。 # cron -e # minute (0-59), 数日間は、mailコマンドで、大きなエラーが発生していないかチェックする。 問題なかったので、 ログを捨てる記述を加えた。 0 0 * * * /etc/scripts/logrotate.sh > /dev/null 2>&1
印刷用 | カウント(122)
|
Solarisamazon広告英語お勧め教材! 英語の学校でも使っているのですが、1つのストーリーを3分で読めて、内容も面白く、もっと早く出会いたかった本です。 Apple好きで英語も勉強したいならこの一冊! 天気情報ブログパーツ |