ちょっとした環境変数を確認するために簡単なENV Checkerを置いてみたのですが、せっかくなので接続元地域の判定も入れてあります。
ただし、IPアドレスのデータベースを持つのは大変なので、MaxMind 社が配布している GeoLite Countryを利用させていただいています。このデータは毎月更新されるようなので、GeoIPの利用方法のシェルスクリプトを参考に、過去2ヶ月分を残し、それより前のデータを削除するスクリプトを追加してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #! /bin/sh # Remains at least these months keepmonth=2 TMPDIR=$HOME/tmp GEODIR=$HOME/share/GeoIP DAT=GeoIP.dat # Get timestamp timestamp=`date +%Y%m` old_date=`date "-d$keepmonth months ago" +%Y%m` cd $TMPDIR #/usr/bin/wget http://www.maxmind.com/download/geoip/database/$DAT.gz /usr/bin/wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/$DAT.gz if [ $? != 0 ] ; then echo "wget failed" exit 1 fi /bin/gunzip $DAT.gz if [ $? != 0 ] ; then echo "gunzip failed" exit 2 fi cd $GEODIR /bin/mv $DAT $DAT.$timestamp /bin/mv $TMPDIR/$DAT . rmfile=$DAT.$old_date if [ -e $rmfile ]; then rm -f $rmfile fi exit |
1ヶ月ごとにcronを回せばデータベースを自動更新してくれるので、いわゆるメンテナンスフリーになります。