Last active
November 7, 2015 22:36
-
-
Save KelvinVenancio/072778aa5aa526239b21 to your computer and use it in GitHub Desktop.
Verificação de dns para um domínio, revenda e/ou todas as contas de um servidor. A opção 1, pode ser usada em qualquer distro, as demais (2/3), apenas em servidores/vps com cPanel/CloudLinux.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Kelvin Soares - [email protected] | |
clear | |
tput cup 4 30 | |
echo "Menu Principal - Escolha a opção desejada" | |
echo "" | |
menu() { | |
echo "" | |
echo " | |
(1) - Checar DNS de Hospedagem | |
(2) - Checar DNS de Revenda Completa | |
(3) - Checar DNS de Todas as contas do Servidor | |
(x) - Sair | |
" | |
echo "" | |
echo -n "Qual a opção desejada? " | |
read opcao | |
} | |
func_hosp() { | |
echo "" | |
echo -n "Informe o domínio da hospedagem: " | |
read domain | |
for ((i=0;i<=4;i++)); do sleep 0.5; echo -n "."; done; echo "" | |
dig NS $domain +short > /root/result_dig | |
clear | |
echo "" | |
echo "Informações do Servidor: " - $(hostname) - $(hostname -i) | |
echo "" | |
echo "O domínio $domain aponta para: " | |
echo $domain - $(host $domain | awk {'print $4'} | grep -v handled) - $(for i in `host $domain | awk {'print $4'}`; do host $i | awk {'print $5'} | egrep -v "found|handled|NXDOMAIN"; done) | |
echo "" | |
echo "Utilizando os DNSs/IPs abaixo: " | |
for i in `cat /root/result_dig`; do | |
echo $i - $(host $i | awk {'print $4'}); | |
done | |
rm -f /root/result_dig | |
} | |
func_revenda() { | |
echo "" | |
echo -n "Informe o domínio principal da revenda: " | |
read reseller | |
for ((i=0;i<=4;i++)); do sleep 0.5; echo -n "."; done; echo "" | |
user_reseller=$(/scripts/whoowns $reseller) | |
lista_filhos=$(grep -P :\ "$user_reseller"$ /etc/trueuserowners | cut -d: -f1 | sort) | |
existe=$(grep $user_reseller /var/cpanel/resellers | cut -d: -f1) | |
if [ -z $existe ] | |
then | |
clear | |
echo "" | |
echo "O domínio $reseller não é uma revenda!"; exit | |
else | |
for i in `echo $lista_filhos`; do grep -P :\ "$i"$ /etc/trueuserdomains; done | cut -d: -f1 > /root/lista_domains | |
clear | |
echo "" | |
echo "Informações do Servidor: " - $(hostname) - $(hostname -i) | |
echo "" | |
echo "As contas da revenda [$reseller : $user_reseller] estão apontadas para: " | |
dig -f /root/lista_domains +noall +answer | |
fi | |
unset user_reseller | |
unset lista_filhos | |
unset existe | |
rm -f /root/lista_domains | |
} | |
func_all() { | |
echo "" | |
echo "Verificando apontamento de todos os domínios do servidor: " | |
for ((i=0;i<=4;i++)); do sleep 0.5; echo -n "."; done; echo "" | |
cat /etc/trueuserdomains| cut -d: -f1 | sort > /root/list_all | |
clear | |
echo "Informações do Servidor: " - $(hostname) - $(hostname -i) | |
echo "" | |
echo "Listagem de apontamento de todos os domínios: " | |
dig -f /root/list_all +noall +answer | |
rm -f /root/list_all | |
} | |
menu | |
case $opcao in | |
1) func_hosp;; | |
2) func_revenda;; | |
3) func_all;; | |
x) clear && echo "Bye!" && exit;; | |
*) echo "Opção inválida, campeão!" && menu ;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment