Nos creamos un servidor NAS casero con Linux
Nos interesa sacar partido a las principales herramientas de Linux para que nos baje los torrent y nos mande un mail cuando finalice la bajada de nuestros ficheros.
Correo y cron
Para instalar un servidor de correo y que envie mails a nuestra direcion de correo tenemos que tener instalado mailx y exim4
#apt-get install mailx exim4-config
Despues tenemos que configurar el servidor de correo para que envie desde nuestra maquina:
#dpkg-reconfigure exim4-config
despues de eso añades como "internet site, mail recibed and send by smtp
le das solo a la loopback interface para que escuche peticiones
entrantes y listo, aceptara cualquier smtp de tu maquina. Si quieres de
tu red interna añades por ejemplo 192.168.0.0/88 o tu rango extenso de
ip. Eso si, sin autentificacion.
Para sacar el listado de un directorio y mandarmelo por mail usamos el siguiente comando:
#ls /home/carlos/.aMule/Incoming/ | mailx -s "Listado de bajadas en emule" mimail@gmail.com
Para efectuar un test a una direccion de red que le pasemos con un ping ( ping de una sola respuesta) le damos el siguiente script:
#!/bin/bash
MALO=`ping -rc 1 $1|grep Unreachable`
if `test "$MALO" != ""`
then echo "No existe"
else echo "OK"
fi
prueba llamándolo con la IP, por ejemplo, si lo llamas prueba.sh:
$ prueba.sh 192.168.1.2
$ prueba.sh 192.168.1.5
El mismo ejercicio pero generando una pagina web con formato:
#!/bin/bash
echo "" > /root/index.html
MALO=`ping -rc 1 $1| grep Unreachable`
if `test "$MALO" != ""`
then echo "NAS-micasa Caido" >> /root/index.html
else echo "NAS-micasa OK" >> /root/index.html
fi
echo "
El ejercicio adaptado a mi red para vigilar un servidor:
#!/bin/bash
MALO=`ping -rc 1 192.168.2.105 | grep Unreachable`
if `test "$MALO" != ""`
then echo "Estado servidor NAS: Caido" | mail -s "Estado del Servidor NAS" rompeola@gmail.com
else echo "Nas levantado, no mando mail, no hace falta" > /dev/null
fi
Podemos agregar una entrada cron para que automáticamente mande los mails con la frecuencia que deseemos:
-metemos el comando anterior en un script (script.sh y le damos permisos de ejecucion chmos +x script.sh)
-agregar la entrada cron:
#crontab -e ---->Entramos en modo edicion de cron
0,10,20 * * * * /bin/script.sh --->> se ejecuta todos los dias a todas las horas durante los minutos 0, 10 y 20
Servidor NAS, necesitaremos un cliente torrent que permita administración vía web como
torrentflux,
192.168.2.105 --- administracion web puerto 80
192.168.2.105:9091 -->> Pagina de descargas torrent
192.168.2.105:4080 -->> Pagina de descargas emule
Comentarios