도메인 이름의 가용성을 확인하기 위해 Linux 명령줄을 사용하여 일종의 배치 파일이나 cronjob을 설정하고 싶습니다. 확인할 수 있는 도메인 목록은 다른 파일을 이용하여 제공해 드리겠습니다. 그런 다음 시간당 30번만 확인해야 하며 도메인을 사용할 수 있는 경우에만 해당 도메인 이름을 다른 파일에 추가해야 합니다. 그래서...
- 배치 파일을 만들어야 합니까?
- 배치 파일에 들어가야 하는 명령은 다음과 같습니다.
- 기존 도메인 목록을 통해 이동
- 해당 도메인을 사용할 수 있는지 확인하고,
- 원래 목록에서 해당 도메인을 제거하고
- 사용 가능한 도메인을 "사용 가능" 목록에 추가합니다.
- 이 명령을 매 시간마다 20번 반복하세요.
저는 PHP와 cron을 사용하여 이 작업을 수행하는 방법을 정확히 알고 있지만 "whois" 명령을 사용하여 이 작업을 수행하는 빠른 방법이 있는지 알고 싶습니다. 내가 붙어있는 점은 (2)입니다.
답변1
별로 어렵지 않습니다.
도메인 목록을 확인 하고 도메인을 찾으면 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분마다 실행됩니다( */2
). 이전에 도메인 경로를 조정했는지 확인하세요.
답변2
왜 그 모든 어려움을 겪어야 합니까? 이제 원하는 모든 whois 데이터를 구매할 수 있습니다. 나는 그것이 저렴할 것이라고 말하는 것이 아닙니다(예를 들어https://alldomainsdb.com/) 하지만 그렇게 하면 많은 노력을 덜 수 있을 것입니다. 그러나 그것은 엄청난 양의 whois 데이터가 필요한 경우입니다. 시간당 30개의 검사로 충분하다면 계속해서 배치 파일을 만드세요.