Quiero configurar un archivo por lotes o un cronjob de algún tipo, usando la línea de comando de Linux, para verificar la disponibilidad de los nombres de dominio. Proporcionaré la lista de dominios para verificar usando otro archivo. Entonces sólo debe realizar 30 comprobaciones por hora y, sólo si el dominio está disponible, debe agregar ese nombre de dominio a un archivo diferente. Entonces...
- ¿Tengo que crear un archivo por lotes?
- ¿Qué comando debe ir en el archivo por lotes? Eso será:
- moverse a través de una lista existente de dominios
- comprobar si esos dominios están disponibles,
- eliminar ese dominio de la lista original, y
- agregue el dominio disponible a la lista "disponible".
- Repita este comando 20 veces cada hora.
Sé exactamente cómo hacer esto con PHP y cron, pero quiero saber si hay una manera rápida de hacerlo usando el comando "whois". Es el punto (2) en el que estoy estancado.
Respuesta1
Eso no es demasiado difícil.
Verifique la lista de dominios domains.txt
y agregue el dominio available.txt
una vez que lo encuentre (observando el valor de retorno de grep
, que está almacenado en $?
).
Luego, elimine los dominios encontrados domains.txt
con sed
la edición in situ.
#!/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
Nota: En BSD sed
, desea utilizar el siguiente comando:
sed -i "" "/$domain/d" $DOMAINS
Puede guardar este script y llamarlo desde su archivo crontab
. Ingresar
crontab -e
y luego agrega una línea como esta:
*/2 * * * * /path/to/script.sh > /dev/null
Esto ejecutará el script cada dos minutos ( */2
). Asegúrese de ajustar las rutas al dominio antes.
Respuesta2
¿Por qué pasar por todos estos problemas? Ahora puedes comprar todos los datos whois que quieras. No digo que sea barato (por ejemplohttps://alldomainsdb.com/) pero te ahorrará mucho trabajo duro. Pero eso es si necesitas una gran cantidad de datos whois. Si 30 controles por hora son suficientes, continúe y cree el archivo por lotes.