diff options
Diffstat (limited to 'dev-libs/geoip/files/geoipupdate-r1.sh')
-rwxr-xr-x | dev-libs/geoip/files/geoipupdate-r1.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/dev-libs/geoip/files/geoipupdate-r1.sh b/dev-libs/geoip/files/geoipupdate-r1.sh new file mode 100755 index 000000000000..f4081d100f25 --- /dev/null +++ b/dev-libs/geoip/files/geoipupdate-r1.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +GEOIP_MIRROR="http://geolite.maxmind.com/download/geoip/database" +GEOIPDIR=/usr/share/GeoIP +TMPDIR= + +DATABASES="GeoLiteCity GeoLiteCountry/GeoIP asnum/GeoIPASNum GeoIPv6 GeoLiteCityv6-beta/GeoLiteCityv6" + +if [ -d "${GEOIPDIR}" ]; then + cd $GEOIPDIR + if [ -n "${DATABASES}" ]; then + TMPDIR=$(mktemp -d geoipupdate.XXXXXXXXXX) + + echo "Updating GeoIP databases..." + + for db in $DATABASES; do + fname=$(basename $db) + + wget --no-verbose -t 3 -T 60 "${GEOIP_MIRROR}/${db}.dat.gz" -O "${TMPDIR}/${fname}.dat.gz" + gunzip -fdc "${TMPDIR}/${fname}.dat.gz" > "${TMPDIR}/${fname}.dat" + mv "${TMPDIR}/${fname}.dat" "${GEOIPDIR}/${fname}.dat" + chmod 0644 "${GEOIPDIR}/${fname}.dat" + done + [ -d "${TMPDIR}" ] && rm -rf $TMPDIR + fi +fi + |