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)
戻る