Виникла необхідність обробляти файли журнали, та розпізнавати країну за IP адресою.
GeoIP – Програма та бібліотека розпізнавання ip адрес. Є застарілою, та має статус Legacy. Замість цієї програми рекомендовано перейти на GeoIP2.
libmaxminddb – Програма та бібліотека розпізнавання ip адрес. Працює з форматом GeoIP2. Ось зробив кому надо SlackBuild.
geoipupdate – Програма яка в автоматичному режимі завантажує бази ip адрес. Але як потім я знайшов, ця програма не вміє завантажувати безкоштовні GeoLite2 бази. Але я встиг зробити SlackBuild.
Сценарій завантаження оновленої бази (файл /etc/sh_cmd/updategeoip.sh)
[code]
#!/bin/bash
FILE=”/var/db/geolite2/GeoLite2-Country.mmdb”
LINK=”http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz”
cd /var/db/geolite2
rm $FILE
wget $LINK
gunzip $FILE.gz
[/code]
Директорію /var/db/geolite2 заздалегідь треба створити.
В завданнях cron додав 2 рядки (файл /var/spool/cron/crontabs/root)
[code]
# Update GeoIP Lite
00 06 5 * * /etc/sh_cmd/updategeoip.sh > /dev/null 2>&1
[/code]
Приклад використання:
/usr/bin/mmdblookup -f /var/db/geolite2/GeoLite2-Country.mmdb -i 8.8.8.8 country names en