IP数据库的自动更新

我们这里介绍几个免费IP数据库的更新,对于国外IP数据,我们使用Maxmind的开源项目GeoIP,而国内IP数据我们使用纯真的QQWry, 由于QQWry是rara格式的,我们首先在系统安装unrar
wget http://www.rarlab.com/rar/unrar-3.7.7-centos.gz
gzip -d unrar-3.7.7-centos.gz
mv unrar-3.7.7-centos /usr/local/bin/

编写以下脚本用于自动同步IP数据到/usr/local/share目录下
vi update_ipdata.sh
#!/bin/bash
if [ ! -d /usr/local/share/GeoIP ] ; then
mkdir /usr/local/share/GeoIP
fi
if [ ! -d /usr/local/share/qqIP ] ; then
mkdir /usr/local/share/qqIP
fi
wget -t 5 -O /tmp/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget -t 5 -O /tmp/GeoLiteCity.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget -t 5 -O /tmp/GeoIPASNum.dat.gz http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
wget -t 5 -O /tmp/qqwry.rar http://update.cz88.net/soft/qqwry.rar

gzip -df /tmp/GeoIP.dat.gz
gzip -df /tmp/GeoLiteCity.dat.gz
gzip -df /tmp/GeoIPASNum.dat.gz
/usr/local/bin/unrar e -nQQWry.Dat -o+ /tmp/qqwry.rar /tmp/
mv -f /tmp/Geo*.dat /usr/local/share/GeoIP/
mv -f /tmp/QQWry.Dat /usr/local/share/qqIP/

我们在每周三早晨6点20更新一次ip数据库:
20 6 * * 3 /usr/local/awstats/update-ipdata-cron.sh
最后我们需要确认一下目录配置, 查看awstats.common.conf,修改以下三行:
LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoLiteCity.dat"
LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoIPASNum.dat"

在awstats/wwwroot/cgi-bin/plugins目录下修改qqwry.pl,将
my $ipfile=”/QQWry.Dat”;
修改为:
my $ipfile=”/usr/local/share/qqIP/QQWry.Dat”;

以上GeoIP的安装介绍参考了Antezenta的awstats博客,纯真数据库格式说明参见LumaQQ的QQWry格式解析,PHP解析QQ格式可以考虑使用QQWry的PHP扩展(C代码)


你可能感兴趣的:(c,数据库,PHP,qq,脚本,扩展)