for f in $DOMAIN
do
echo -n "$f - " && whois $f | egrep 'Expiry Date' | awk '{print $4}' | sed 's/T[0-9][0-9]\:[0-9][0-9]\:[0-9][0-9]Z/ /g;'
done
Предполагаю, нужно создать буфер переменную в которую с цикла будет добавляться домены по условию и в конце отправка данных на мыло с этой переменной.
Хочется условия универсального и для bash и для sh/csh.
Хочется условия универсального и для bash и для sh/csh.
Вообще-то csh с sh и bash мало общего имеет, зачем такие сложности? Используйте /bin/sh, если хотите универсальности.
И, кстати, учтите, что в whois формат данных не стандартизирован, так что и слов "Expiry Date" может не быть, и, тем более, формат даты может отличаться у разных регистраторов.
Вообще-то csh с sh и bash мало общего имеет, зачем такие сложности? Используйте /bin/sh, если хотите универсальности.
И, кстати, учтите, что в whois формат данных не стандартизирован, так что и слов "Expiry Date" может не быть, и, тем более, формат даты может отличаться у разных регистраторов.
А как тогда мониторить срок действия доменов?
Старшие менеджеры проектов/владельцы доменов иногда забивают на отслеживания срока действия доменов.
Вот и решил подстраховаться.
Добавлено (19:41):
ru/su данные whois отличаются от com/net/org и т.д.
Есть библиотеки, которые умеют парсить whois в разных форматах. Хотя 100% гарантии корректности и они, конечно, не дадут.
Пока остановлюсь на своем скрипте.
Так как можно поместить данные в буфер переменную и после ее разом отправить на почту?
Как отправить на почту я знаю, не знаю пока как определить переменную типа буфера для отправки разом.
Если конечно нужно сообщение если только вывод будет не пустым лучше использовать временный файл:
Я тоже подумываю складывать сперва в файл по условию, а после в конце скрипта отправлять данные из файла разом.
Застрял на доп. задаче.
Хочу получить предыдущий месяц и текущий месяц.
Но вот что не нравится, что формат data распознается в разных интерпретаторах по разному.
От интерпретатора он точно никак не зависит. Возможно, у Вас разные реализации date установлены, и запускается одна или другая в зависимости от содержимого $PATH.
И я так и не понял, зачем Вам поддержка csh? Он никогда, ни при какой погоде и ни в какой ОС не окажется на месте /bin/sh.
$ whois ya.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).
domain: YA.RU
nserver: ns1.yandex.ru.
nserver: ns2.yandex.ru.
state: REGISTERED, DELEGATED, VERIFIED
org: YANDEX, LLC.
registrar: RU-CENTER-RU
admin-contact: https://www.nic.ru/whois
created: 1999-07-12T14:40:22Z
paid-till: 2022-07-31T21:00:00Z
free-date: 2022-09-01
source: TCI
А вообще это тот случай, когда я бы предпочел обратиться к какому питону с его python-whois, чем тратить время на своё решение. А если используется мониторинг где, то и вовсе туда повесил. prometheus норм умеет за такими штуками следить.
Я же чуть выше написал, что ru/su отличается выдача вхоиз от net/org/com.
У меня два цикла создана и два списка.
Мне самому просто интересно, так то мне пофиг на срок действия доменов, это работа старших менеджеров/владельцев отслеживать период оплаты доменов.