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). 이전에 도메인 경로를 조정했는지 확인하세요.

답변2

왜 그 모든 어려움을 겪어야 합니까? 이제 원하는 모든 whois 데이터를 구매할 수 있습니다. 나는 그것이 저렴할 것이라고 말하는 것이 아닙니다(예를 들어https://alldomainsdb.com/) 하지만 그렇게 하면 많은 노력을 덜 수 있을 것입니다. 그러나 그것은 엄청난 양의 whois 데이터가 필요한 경우입니다. 시간당 30개의 검사로 충분하다면 계속해서 배치 파일을 만드세요.

관련 정보