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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#!/bin/sh
DAT_DIR="/var/lib/geoip-database-contrib"
GEOIP_URL="http://geolite.maxmind.com/download/geoip/database/"
GEOLITE_COUNTRY_PATH="GeoLiteCountry/"
GEOLITE_COUNTRY_FILE="GeoIP.dat.gz"
GEOLITE_COUNTRY_IPV6_PATH=""
GEOLITE_COUNTRY_IPV6_FILE="GeoIPv6.dat.gz"
GEOLITE_CITY_PATH=""
GEOLITE_CITY_FILE="GeoLiteCity.dat.gz"
GEOLITE_CITY_IPV6_PATH="GeoLiteCityv6-beta/"
GEOLITE_CITY_IPV6_FILE="GeoLiteCityv6.dat.gz"
GEOLITE_ASNUM_PATH="asnum/"
GEOLITE_ASNUM_FILE="GeoIPASNum.dat.gz"
GEOLITE_ASNUM_IPV6_PATH="asnum/"
GEOLITE_ASNUM_IPV6_FILE="GeoIPASNumv6.dat.gz"
FAILED=0
for url in \
"$GEOIP_URL$GEOLITE_COUNTRY_PATH$GEOLITE_COUNTRY_FILE" \
"$GEOIP_URL$GEOLITE_COUNTRY_IPV6_PATH$GEOLITE_COUNTRY_IPV6_FILE" \
"$GEOIP_URL$GEOLITE_CITY_PATH$GEOLITE_CITY_FILE" \
"$GEOIP_URL$GEOLITE_CITY_IPV6_PATH$GEOLITE_CITY_IPV6_FILE" \
"$GEOIP_URL$GEOLITE_ASNUM_PATH$GEOLITE_ASNUM_FILE" \
"$GEOIP_URL$GEOLITE_ASNUM_IPV6_PATH$GEOLITE_ASNUM_IPV6_FILE"
do
echo "Downloading: $url"
# Download file in the same directory as the final one so that the "mv"
# below can be atomic.
TEMPGZ=$(mktemp --tmpdir=$DAT_DIR --suffix=.gz)
TEMP=${TEMPGZ%.gz}
trap "rm -f $TEMP $TEMPGZ" 0
FILEGZ=$(basename $url)
FILE=${FILEGZ%.gz}
/usr/bin/wget -q -t3 -T15 "$url" -O $TEMPGZ
if [ "$?" != "0" ]
then
echo "Failed to download $url"
else
/bin/gunzip -f $TEMPGZ
if [ "$?" != "0" ]
then
echo "Failed to decompress $TEMPGZ"
else
chmod 644 $TEMP
mv $TEMP $DAT_DIR/$FILE
fi
fi
rm -f $TEMP $TEMPGZ
# Accidentally create by versions 1.9 though 1.11
rm -f /usr/share/GeoIP/$FILEGZ
done
exit 0
|