先日MODxの日本語フォーラムにてMODxデモサイト公開の告知が行われました。
MODx デモサイトオープン
実はまだ色々と構想があってサーバの調整をしてるため、たまにアクセスできないときがあります。そのときはすいませんが、間をおいて試していただけたらと思います。
そういえば今日、デモサイトのapacheログのローテーション設定をしてない事に気づいて、せこせこと設定しました。
本当はcronologで手っ取り早く作ってしまえばいいんだけど、こいつは却下。cronologはひとつのログに対して1プロセス使うので、今のサーバの構成だとだいたい10プロセス程消費。。。使っているサーバのリソース制限が結構厳しいので、その10プロセスがもったいない(--;
次に考えたのはLinux付属のlogrotateを使ったろローテーション。これもlogrotateに設定を入れるだけいいのでお手軽なんだけど、ローテートしたログの管理がしづらいので却下。しかも古いログは消されるし。
と、いうわけで結局自作しました。ちょう適当スクリプト。
#!/bin/sh
#
# Apache log rotate(見本)
#
LogDir='/var/log/hoge/ /var/log/fuga/'
AccessLog='access_log'
ErrorLog='error_log'
LastDay=`date -d '1 days ago' '+%Y%m%d'`
PidFiles='/usr/local/hoge/logs/httpd.pid /usr/local/fuga/logs/httpd.pid'
#------------------------------ log move
find $LogDir -name $AccessLog -exec mv {} {}.$LastDay \;
find $LogDir -name $ErrorLog -exec mv {} {}.$LastDay \;
#------------------------------ apache reload
kill -HUP `cat $PidFiles`
#------------------------------ log compless
find $LogDir -regex ".*$AccessLog\.[0-9]+" -exec gzip {} \;
find $LogDir -regex ".*$ErrorLog\.[0-9]+" -exec gzip {} \;
スクリプトは現在使われているすべてのログファイルをリネームして、それぞれのapacheにHUPを送りつける。そしてその後にログファイルをgz圧縮する。
いやぁfindって便利だ。
ちなみにサーバのリソースが厳しいとか言ってるのに実はapacheを2個、しかもそれぞれバーチャル構成で動かしています。正直ギリギリ状態です。
そのためapacheにHUPを送りつけた瞬間、サーバのメモリ制限に引っかかってapacheが1つ落ちた。ちょっと無理しすぎかなぁ。。。
仕方ないので設定を少しいじってメモリの消費量を抑える。
これからもしばらくこの調整が続いていきそうだ。。。
作成日:2008/09/04 02:42:16