domenica 18 novembre 2018

Controllo dominio libero o occupato, Script Bash

Con il seguente script potrete controllare lo stato di un dominio e inviarvi un’email nel caso diventasse libero per la registrazione (così come fatto lo script invia un’email anche quando è ancora occupato, così da avere un feedback sul corretto funzionamento dello stesso).
Potete inserire lo script nel cron e schedularlo per essere eseguito ogni tot ore (o minuti).

#!/bin/bash
#inserire il nome del dominio da controllare a posto di bloGhiotto:
DOMINIO="bloGhiotto.it"
 
#variabili per invio email
SUBJECT="Controllo dominio $dominio"
EMAIL="inserite_qui@la_vostra.email"
EMAILMESSAGE_LIBERO="/percorso/file/da_inviare/come_testo/dominio_libero"
EMAILMESSAGE_OCCUPATO="/percorso/file/da_inviare/come_testo/dominio_occupato"
 
#effettuo whois
whois $DOMINIO | grep -i "available" >> /dev/null
 
#se è vero invio email libero altrimenti occupato
if [$? -eq 0]; then /bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE_LIBERO
    else /bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE_OCCUPATO
fi
exit 1

Questo script va bene per i domini .it perché quando liberi viene restituito “available”. Se volete controllare un dominio .com o .net dovete modificare il controllo. Questo perché il whois, quando il dominio è libero, risponde in un altro modo. Potete controllare effettuando da shell il whois del dominio:

$ whois dominio.com
$ whois dominio.net

Se è libero verrà restituito:

No match for "DOMINIO.COM"

…quindi andremo a greppare proprio “no match for”:

whois $DOMINIO | grep -i "no match for" >> /dev/null

La riga da inserire per controllare i domini .biz o .info o .org è:

whois $DOMINIO | grep -i "not found" >> /dev/null

P.S.: Se non volete che vi venga inviata l’email quando il dominio è ancora occupato basta commentare la riga:

#else /bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE_OCCUPATO

About The Author

Related posts