また、Apache 2.x系については、FreeBSDベースでココに記録してますのでご参照ください。
今回は、Apacheのログローテーションの自動化をVAIOでも実装することにします。
$ echo $D $ $ D=date $ echo D D $ echo $D date $ D=`date` $ echo $D Tue May 23 20:57:00 JST 2000 $ D=`date +%Y%m%d` $ echo $D 20000523 $上記のコマンドを入力してみることで、ログローテーションに必要なシェルスクリプトの記述方法が理解できるでしょう。
これまでWinしか知らないというユーザが注意すべき点は、シングルクオートとバッククオートの違いです。
Apacheのログをローテーションさせるスクリプトは、次のように記述できます。
#!/bin/sh # alr.sh - apache log rotate # Yoshio Shimamura LOGDIR='/usr/local/apache/logs' BINDIR='/usr/local/apache/bin' D=`date +%Y%m%d` mv $LOGDIR/access_log $LOGDIR/access_log.$D mv $LOGDIR/error_log $LOGDIR/error_log.$D $BINDIR/apachectl restartスクリプトを作成したら、忘れず実行可能フラグを立てよう。
$ chmod +x ./alr.sh
登録は、crontabコマンドに-eオプションを与えて実行するとエディタが起動しますので、そこに実行日時の設定と、実行コマンドを記述して行います。
$ su # crontab -e毎月1日の2時30分に実行する場合は、次のようなります。
SHELL=/bin/sh 30 2 1 * * root /home/purupuru/bin/alr.shcron自体のログは、通常/var/log/cronに記録されます。