Скрипт предоставляет возможность в автоматическом режиме обновлять GeoIP.dat файл.
Способ №1 для ленивых:)
Вдохнули поглубже и выполняем в терминале:
Скрипт установки:
- Создаст нужные каталоги.
- Установит все зависимости.
- Скачает скрипт для обновлений.
- Настроит крон, для автоматических обновлений, по умолчанию крон будет запускаться каждый понедельник в 5:35 утра по серверному времени.
Выполнить от рута:
wget -q -O - https://unixhelp.org/installers/geoip | python
Ждем окончания работы и радуемся.
Способ №2 для настойчивых:)
Копируем Текс скрипта.
#!/USR/BIN/ENV PYTHON __author__ = 'am6puk' import urllib2 import gzip import os import shutil import subprocess url = "https://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz" file_name = url.split('/')[-1] with open(file_name, "wb") as code: code.write(urllib2.urlopen(url).read()) destFile = file_name[:-3] sourceFile = file_name zipFile = gzip.open(sourceFile, "rb") unCompressedFile = open(destFile, "wb") decoded = zipFile.read() unCompressedFile.write(decoded) zipFile.close() unCompressedFile.close() shutil.move(destFile, "/usr/share/GeoIP/"+destFile) os.remove(file_name) runing = subprocess.Popen("/etc/init.d/apache2 reload", shell=True) runing.wait()
Создаем папку в /opt/
mkdir /opt/update_goeip && cd /opt/update_geoip
Создаем файл и копируем туда текст скрипта.
nano update.py
Сохраняем и закрываем.
Теперь добавляем этот скрипт в Cron(выполнение одни раз в неделю вполне хватит)
crontab -e
В открывшемся редакторе вставляем
35 5 * * 0 /usr/bin/python /opt/update_geoip/update.py
Время выполнения Вы можете менять как Вам будет удобно, в примере, скрипт отрабатывает каждое воскресенье в 3.35 ночи.
Успехов.