Настраиваем скрипт для проверки срока регистрации домена и уведомлений о необходимости его продления.
Установка и простая проверка.
Как и в случае с ssl чекером, всё очень просто. Для начала, забираем скрипт с Github страницы проекта:
# yum install mailx git whois
# cd /usr/local/src/ # git clone https://github.com/nixcraft/domain-check-2 # cd ./domain-check-2
Позднее дополнение. Ребята форкнули скрипт, привели его в порядок, сделали так, что теперь он работает для многих зон. Можно заглянуть сюда за новой версией.
Простая проверка домена выглядит так:
# ./domain-check-2.sh -d sysadmin.pm
Можно собрать все нужные нам домены в один файл и проверить их:
# cat domains.txt sysadmin.pm google.ru ya.ru yandex.ru
# ./domain-check-2.sh -f domains.txt
Настройка уведомлений.
С помощью дополнительных параметров, с которыми запускается скрипт, мы можем настроить уведомления на email. Параметр -x задаёт количество дней до истечения срока регистрации домена, параметр -a, включает отправку на email, а с помощью -e задаётся email, на который сообщение будет отправлено.
Команда для проверки нескольких имён из файла, с последующим уведомлением об истечении доменов менее чем через 30 дней будет выглядеть так:
# ./domain-check-2.sh -a -f domains.txt -q -x 30 -e alert@sysadmin.pm
Добавляем эту задачу в планировщик, и получаем готовый к работе мониторинг, который будет своевременно уведомлять нас о необходимости продлить домен.
0 21 * * * /home/sysadmin/scripts/domain-check-2.sh -a -f domains.txt -q -x 30 -e alert@sysadmin.pm
Дополнительно отмечу ещё один аналогичный инструмент, но написанный уже на питоне. Возможно он покажется вам более интересным. Я его так же протестировал, и обнаружил, что в работе с некоторыми зонами скрипт таки имеет проблемы и, судя по всему, требует доработки.
На Debian выдал ошибки
./domain-check-2.sh: строка 303: -h: команда не найдена
./domain-check-2.sh: строка 309: -h: команда не найдена
whois утилита в системе установлена? Если нет, то надо бы поставить и проверить, будет ли возникать ошибка тогда. 🙂
Хочу настроить скрипт, чтобы мог проверять домены .academy .top .center и т.д.
Сейчас при проверке выдает, что домен Expired и Days Left -2458540
Вот здесь ребята начали активно допиливать скрипт https://github.com/nixcraft/domain-check-2/pull/25 возможно стоит опробовать их правки и посмотреть будет ли тогда корректно определяться срок продления.
По мотивам этой статьи написал свой скрипт на Python.
https://github.com/ak545/dns-domain-expiration-checker