Мониторинг даты продления доменного имени

Мониторинг даты продления доменного имениМониторинг даты продления доменного имени — действие, которое нельзя недооценить. Я уже писал о том, как мониторить, сколько дней осталось до продления SSL-сертификата, и теперь давайте разберемся с другой частой проблемой — неожиданным окончанием срока регистрации доменного имени. Казалось бы, все регистраторы на сегодняшний день заранее об этом напоминают (причем обычно несколько раз). Но проблема в том, что эти письма либо не читают, либо они как-то попадают в спам. В общем, не все в курсе, что у них заканчивается срок регистрации доменного имени. В результате сайт не работает, люди не понимают, почему, и тратят иногда много времени, чтобы понять, что происходит. Тем временем доменное имя пропадает из кэша DNS, и через пару дней (или даже раньше, зависит от разных факторов) посетители перестают попадать на сайт. Давайте посмотрим, как мониторить дату окончания регистрации доменного имени. Естественно, скриптом на bash.

Как получить дату регистрации доменного имени

Самый простой вариант — использовать глобальную базу данных whois. В ней хранится информация о доменных именах, такая как организация, ответственное лицо, контакты для связи, дата регистрации и дата окончания срока регистрации. И это как раз то, что нам нужно. Давайте возьмем какой-нибудь популярный домен для примера. Пусть это будет yandex.ru. Вот какая информация хранится в базе whois об этом домене:

Поле, которое нас интересует — «paid-till», это дата, до которой у нас оплачен домен.

Мониторинг даты продления доменного имени

Мониторинг даты продления доменного имени сделаем примерно так же, как и мониторинг сертификата, но заметно проще. Получаем данные о домене, ищем поле, содержащее дату окончания регистрации, если оно присутствует (если данные whois для этого домена не закрыты), получаем эту дату, получает сегодняшнюю дату и выводим разницу в днях. При желании можно добавить отправку письма, если осталось, скажем, меньше 30 дней до окончания регистрации. Но не всё так просто. Потому что есть как минимум три вида записей об окончании срока регистрации. Первый выглядит так:

Второй выглядит так:

И третий выглядит так:

И нам, соответственно, надо предусмотреть все три варианта. Или, если встретится четвертый, то и четвертый. Пока давайте разберемся с этими тремя.

Вот как выглядит скрипт:

Вот результат работы этого скрипта для разных доменов на момент написания статьи:

Согласитесь, удобно выглядит. Мониторинг даты продления доменного имени скриптом размером всего 660 байт. Уже можно использовать в мониторинге при помощи Nagios или Zabbix.

Если есть дополнения, замечания, пишите в комментарии.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *