Bueno intetare fabricar un script con base a una duda que surge en el-hacker sobre como mandar un mail cada cierto tiempo con la salida de un comando en este caso la salida del comando es el estado de los discos duros.
A simple vista no parece tan complicado pero me dio por hacer el script ahora mismo mientras escribo esto.. probando paso a paso todo desde la consola de debian claro esta.
Ahora bien que necesitamos..
Mas o menos es algo como.
Ejecutar Comando.
Copiar la salida del comando a un txt.
Adjuntar ese txt a un correo y enviarlo a una dirección.
Eso es facil.
Lo difícil es… hacer que se mande cada cierto tiempo, pero la verdad que no es complicado… aunque digo que si ya que nunca e usado comando parecido para ejecutar un script cada cierto tiempo y cosas por el estilo pero bueno hay una primera vez para todo 😀
Lo primero es saber el comando que ocupamos.., en este caso sera df -h
Mostrara una info parecida a esta.
#df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/hda1 9,3G 1,9G 7,0G 22% /
tmpfs 89M 0 89M 0% /lib/init/rw
udev 10M 112K 9,9M 2% /dev
tmpfs 89M 0 89M 0% /dev/shm
La info es de un server casero bajo debian ahí tengo unas aplicaciónes que ocuparemos así que ese usare para las pruebas del script.
Y bien tenemos el comando ahora seguimos con el siguiente paso.
Haremos que este comando pase a un fichero de texto ( mas adelante intentare que el comando se envíe directamente al mail por ahora esta bien así para las pruebas )
Ahora creamos un fichero nuevo ya sea con nano o con lo que sea yo como estoy via SSH ahora mismo pues sera con cat
cat >reporte_de_disco.txt
Luego de dar enter presiono control + c y tengo listo un fichero llamado reporte_de_disco.txt ahí es donde mandaremos la salida del comando.
Bien mandamos la salida del comando al fichero que creamos.
dh -f >reporte_de_disco.txt
Y si queremos que escriba también la fecha del dia.
Hacemos
# date >reporte_de_disco && df -h>>reporte_de_disco
Ahora la cosa es sencilla instalamos mailx.
apt-get install mailutils
Ya instalado configuramos si hace falta.
Y el comando para enviar el mail sería algo así.
cat reporte_de_disco| mail -s «asunto» [email protected]
Eso mandaría el fichero de texto en el mail.
Y eso mandara directamente el comando y no tenemos que enviar nada a ningún fichero, aunque no es buena idea si queremos una copia…
Ahora bien el fichero de texto nunca se llenara ya que cada vez que se valla a escribir en el se borrara lo anterior si no queremos que pase eso lo configuramos y listo……
Todo en orden ?
Pues listo mañana explico como configurar mailx o un dia de estos.
Espero les sirva y cualquier duda comenten aquí o en el foro.skamasle.com
Nos vemos