我正在努力将客户的WHM/cPanel帐户迁移到新服务器,但是他在服务器上托管了许多站点,我需要检索其名称服务器。
我想创建一个 bash 脚本来解析一个文件(每个域在单独的行上),执行dig
和whois
,找到名称服务器和 IP,然后将域及其名称服务器输出到另一个文件。
我不太擅长 bash,但我已经找到并编辑了这个脚本 - 但它似乎根本不想工作。如果有人有任何见解,那就太好了。谢谢!
#!/bin/bash
# dig $line +short >> ip address
# whois $line >> Lists full details including the name servers
# whois $line | grep "Name Server" | cut -d ":" -f 2 | sed 's/ //' |
# sed -e :a -e '$!N;s/ n/,/;ta'`
while read inputfile
do
echo $domain
ipaddress=`dig $domain +short`
nameserver=`whois $domain | grep "Name Server" | cut -d ":" -f 2 |
sed 's/ //' | sed -e :a -e '$!N;s/ n/,/;ta'`
echo -e "$domain,$ipaddress,$nameserver" >> outputfile
done
这将输出给定文件中域的所有可能的 A 和 NS 记录:
#!/bin/bash
while read domain
do
for a in `dig $domain a +short`
do
ipaddress="$ipaddress$a,"
done
for ns in `dig $domain ns +short`
do
nameserver="$nameserver$ns,"
done
echo "$domain,$ipaddress,$nameserver"
done
用法
假设脚本被命名为解析程序,并且文件是输入的。做
cat input | ./resolver
(某些域具有多个 IP 地址和名称服务器)