File: update-geoip-database

package info (click to toggle)
geoip-database-contrib 1.19
  • links: PTS, VCS
  • area: contrib
  • in suites: stretch
  • size: 152 kB
  • sloc: sh: 155; makefile: 2
file content (67 lines) | stat: -rwxr-xr-x 1,733 bytes parent folder | download | duplicates (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
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