Überprüfen Sie eine Liste von Domänen mit dem WHOIS-Befehl

Überprüfen Sie eine Liste von Domänen mit dem WHOIS-Befehl

Ich möchte eine Batchdatei oder einen Cronjob einrichten, um die Verfügbarkeit von Domänennamen über die Linux-Befehlszeile zu prüfen. Ich werde die Liste der zu prüfenden Domänen mithilfe einer anderen Datei bereitstellen. Es dürfen dann nur 30 Prüfungen pro Stunde durchgeführt werden, und nur wenn die Domäne verfügbar ist, muss dieser Domänenname einer anderen Datei hinzugefügt werden. Also...

  1. Muss ich eine Batchdatei erstellen?
  2. Welcher Befehl muss in die Batchdatei eingefügt werden, der:
    1. durch eine vorhandene Liste von Domänen navigieren
    2. Überprüfen Sie, ob diese Domänen verfügbar sind.
    3. Entfernen Sie diese Domain aus der ursprünglichen Liste und
    4. Fügen Sie die verfügbare Domäne zur Liste „Verfügbar“ hinzu.
  3. Wiederholen Sie diesen Befehl 20 Mal pro Stunde

Ich weiß genau, wie das mit PHP und Cron geht, aber ich möchte wissen, ob es eine schnelle Möglichkeit gibt, dies mit dem Befehl „whois“ zu tun. Bei Punkt (2) hänge ich fest.

Antwort1

Das ist nicht allzu schwer.

Überprüfen Sie die Liste der Domänen domains.txtund fügen Sie die Domäne hinzu, available.txtsobald sie gefunden wurde (indem Sie sich den Rückgabewert von ansehen grep, der in gespeichert ist $?).

Entfernen Sie dann die gefundenen Domänen mithilfe domains.txtder seddirekten Bearbeitung.

#!/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

Hinweis: Unter BSD sedmöchten Sie den folgenden Befehl verwenden:

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

Sie können dieses Skript speichern und von Ihrem aufrufen crontab. Geben Sie

crontab -e

und fügen Sie dann eine Zeile wie diese hinzu:

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

Dadurch wird das Skript alle zwei Minuten ausgeführt ( */2). Denken Sie daran, vorher die Pfade zur Domäne anzupassen.

Antwort2

Warum sich die ganze Mühe machen? Sie können jetzt alle Whois-Daten kaufen, die Sie möchten. Ich sage nicht, dass es billig sein wird (zum Beispielhttps://alldomainsdb.com/), aber es erspart Ihnen viel harte Arbeit. Das gilt allerdings nur, wenn Sie eine große Menge an Whois-Daten benötigen. Wenn 30 Überprüfungen pro Stunde ausreichen, erstellen Sie die Batchdatei.

verwandte Informationen