httpサーバの運用


ログが保存される場所
/var/log/httpd

access_log, error_logを適当に切り分けます。

tcshの場合
# cd /var/log/httpd
# set date = `date +%D | sed 's@/@-@g'` ## MM-DD-YY形式
# mv access_log access_log.$date
# mv error_log error_log.$date
# /usr/pkg/sbin/apachectl graceful ## 接続を保持したまま新しいログファイルをオープン

シェルスクリプトを書いて、cronで自動化してみます。

# vi /root/apachelog.cron
(以下ファイルの中身)
#!/bin/sh

if [ -d /var/log/httpd ]; then
cd /var/log/httpd
date=`date +%D | sed 's@/@-@g'`
mv access_log access_log.$date
mv error_log error_log.$date
/usr/pkg/sbin/apachectl graceful
fi

プロンプトから直接コマンドを入力するときと、すこし違ってます。
ややこしいのですが、お手本にしたのがBシェルのスクリプトだったので。(Cシェル用の書き方が理解できてない)

実行権限を与えます。
# chmod 755 /root/apachelog.cron

crontabに登録します。
# crontab -e

毎週火曜日の午前5時15分に実行する。
## my_cron
15 5 * * 2 /root/apachelog.cron

rootでこーゆうことをやっていいのか、とか疑問は山積みしているのですが、cronもシェルスクリプトも謎だらけなので少しずつステップアップしていきます。
/varには200Mほどあててあるので、当面これで運用してみましょう、ローカルのままでな。

(2003/12/30)


戻る