Я хочу установить командный файл или какой-нибудь cronjob, используя командную строку linux, чтобы проверить доступность доменных имен. Я предоставлю список доменов для проверки, используя другой файл. Затем он должен делать только 30 проверок в час, и только если домен доступен, он должен добавить это доменное имя в другой файл. Так...

  1. Нужно ли создавать командный файл?
  2. Какая команда должна идти в командном файле, которая будет:
    1. перемещаться по существующему списку доменов
    2. проверьте, доступны ли эти домены,
    3. удалить этот домен из исходного списка, и
    4. добавить доступный домен в список "доступных".
  3. Повторите эту команду 20 раз каждый час

Я точно знаю, как это сделать с помощью PHP и cron, но я хочу знать, есть ли быстрый способ сделать это с помощью команды whois? Это пункт (2), на котором я застрял.

2 ответа2

6

Это не так уж сложно.

Проверьте список доменов domains.txt и добавьте домен в available.txt только он будет найден (посмотрев возвращаемое значение grep , которое хранится в $?).

Затем удалите найденные домены из domains.txt с помощью редактирования на месте sed .

#!/bin/bash

AVAILABLE=~/available.txt
DOMAINS=~/domains.txt

lockfile whois-script.lock

while read -r domain; do
  whois $domain | grep -qci "No match"
  if [ $? -ne 0 ]; then
    # found
    echo $domain >> $AVAILABLE
  fi
done < $DOMAINS

while read -r domain; do
  sed -i "/$domain/d" $DOMAINS
done < $AVAILABLE

rm -f whois-script.lock

Примечание. В BSD sed вы хотите использовать следующую команду:

sed -i "" "/$domain/d" $DOMAINS

Вы можете сохранить этот скрипт и вызвать его из вашего crontab . Войти

crontab -e

и затем добавьте строку как это:

*/2 *   *   *   *   /path/to/script.sh > /dev/null

Это будет запускать скрипт каждые две минуты (*/2). Обязательно настройте пути к домену раньше.

0

Зачем переживать все неприятности? Теперь вы можете приобрести все необходимые данные Whois. Я не говорю, что это будет дешево (например, https://alldomainsdb.com/), но это сэкономит вам много тяжелой работы. Но это если вам нужно огромное количество данных whois. Если 30 проверок в час достаточно, сделайте пакетный файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .