使用 WHOIS 指令檢查網域列表

使用 WHOIS 指令檢查網域列表

我想使用 linux 命令列設定一個批次檔或某種 cronjob 來檢查網域的可用性。我將提供網域列表以使用另一個文件進行檢查。然後,它每小時只能執行 30 次檢查,並且只有當網域可用時,它才必須將該網域新增至另一個檔案。所以...

  1. 我必須建立批次檔嗎?
  2. 批次檔中必須包含哪些命令,這將:
    1. 在現有網域清單中移動
    2. 檢查這些網域是否可用,
    3. 從原始清單中刪除該網域,並且
    4. 將可用網域新增至「可用」清單。
  3. 每小時重複此指令 20 次

我確切地知道如何使用 PHP 和 cron 執行此操作,但我想知道是否有一種快速方法可以使用“whois”命令執行此操作?我堅持的是第(2)點。

答案1

這並不太難。

檢查網域列表,並在找到網域後domains.txt新增網域(透過查看 的回傳值,該值會儲存在 中)。available.txtgrep$?

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)。確保之前調整到網域的路徑。

答案2

為什麼要經歷所有的麻煩?現在您可以購買您想要的所有 whois 數據。我並不是說它會很便宜(例如https://alldomainsdb.com/)但它會為你省去很多辛苦的工作。但前提是您需要大量的 whois 數據。如果每小時 30 個檢查就足夠了,請繼續製作批次檔。

相關內容