![Überprüfen Sie eine Liste von Domänen mit dem WHOIS-Befehl](https://rvso.com/image/1317449/%C3%9Cberpr%C3%BCfen%20Sie%20eine%20Liste%20von%20Dom%C3%A4nen%20mit%20dem%20WHOIS-Befehl.png)
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...
- Muss ich eine Batchdatei erstellen?
- Welcher Befehl muss in die Batchdatei eingefügt werden, der:
- durch eine vorhandene Liste von Domänen navigieren
- Überprüfen Sie, ob diese Domänen verfügbar sind.
- Entfernen Sie diese Domain aus der ursprünglichen Liste und
- Fügen Sie die verfügbare Domäne zur Liste „Verfügbar“ hinzu.
- 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.txt
und fügen Sie die Domäne hinzu, available.txt
sobald 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.txt
der sed
direkten 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 sed
mö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.