Programando tareas en sistemas Linux

bot worker

Dicen que los mejores informáticos son los más perezosos, y lo peor es que estoy de acuerdo con ello!

Hace unos días me llamó la atención una noticia en la que un programador era despedido por no hacer absolutamente nada en su trabajo. Hasta ahí no suena extraño pero éste había automatizado todo el trabajo que tenía que hacer (con la imaginación y trabajo que le habrá costado) y sólo tenía que estar pendiente si algo no funcionaba como debiera.

Hoy vamos a ponernos en su piel y vamos a automatizar tareas repetitivas en sistemas Linux con la herramienta Crontab. Como ejemplo usaré un servidor en el que aloja un servidor Teamspeak3 y otro de FTP. La principal tarea de un sysadmin es mantener el sistema funcionando a pleno rendimiento y como no me gustaría que los miembros del clan VIT de Battlefield se quedaran sin conexión durante más de una hora, he decidido crear un pequeño script con Python en el que compruebe el estado de los dos servicios cada hora y si alguno de los dos está fuera de servicio, me envíe un email con el estado del servicio caído y poder solucionar el problema cuanto antes.

Los pasos a seguir son muy sencillos y nos ahorrará mucho trabajo. Al lío:

 

Lo primero que tenemos que hacer es editar la configuración de Crontab con el siguiente comando

1

y vemos el archivo, en el cual nos explica las instrucciones. La última línea nos muestra el formato que debemos seguir para que todo funcione perfectamente. En la imagen vemos que ya lo he puesto y les puede servir de ejemplo

2

m minuto en que se va a ejecutar el script, el valor va de 0 a 59

h hora, se maneja el formato de 24 horas, los valores van de 0 a 23, siendo 0 las 12:00 de la medianoche.

dom día del mes, por ejemplo se puede especificar 15 si se quiere ejecutar cada día 15

dow día de la semana, puede ser numérico (0 a 7, donde 0 y 7 son domingo) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun

command refiere al comando o a la ruta absoluta del script a ejecutar, ejemplo:/home/usuario/comprobar.sh

o incluso poniendo uno de los siguientes parámetros y el proceso a ejecutar simplificaría mucho la configuración:

@reboot Ejecuta cada vez que se inicia el sistema
@yearly Ejecuta una vez al año
@monthly Ejecuta una vez al mes
@weekly Semanalmente
@daily Diariamente
@hourly El primer minuto de cada hora

 

Ya tenemos el archivo de Crontab listo, pero no podemos olvidar de darle permisos de ejecución al script para que pueda ser ejecutado. Esto se resuelve simplemente con el siguiente comando

3

Ya está listo para ser ejecutado según las instrucciones que hayamos determinado. En nuestro caso al ser un script hecho en Python tenemos que asegurarnos que en la cabecera del archivo definimos el interprete de Python.

4

Solo falta probar que todo funciona bien, así que paramos el servicio de Teamspeak y esperamos que nos envíe un avise (nuestro script o alguien del clan jeje).

5

Ahora ya podemos estar tranquilos que si en algún momento hay problemas con estos servicios “alguien” nos avisará y podremos arreglarlo sin estar pendientes.

Espero que les haya gustado y aprendido con nosotros,

Un salu2!!

 

Prueba linux sin morir en el intento

Windows Broken

Si preguntamos a cualquier persona si sabe lo que es Windows, más de una te dirá que se trata de un sistema operativo de Microsoft(y ventana en inglés por supuesto).

Muchos hemos crecido viendo como Windows nos acercaba a un mundo desconocido como es Internet, de la manera más sencilla y con unas posibilidades inmensas, pero siempre me pregunté por qué Windows.

Siempre existieron alternativas para usuarios finales como Macintosh pero posiblemente el resultado se debiera a un buen marketing por parte de Microsoft. Cosa que hoy ha dado la vuelta Apple y está obteniendo sus frutos.

Hoy en día tenemos la suerte de poder elegir entre muchos más sistemas operativos, de los que puedo aconsejar Mint, Elementary OS y Ubuntu. Todos ellos basados en el temido linux que no tiene nada que ver con lo que teníamos años atrás lleno de pantallas negras esperando que teclearas su lenguaje tan extraño.

¿Cómo probarlo? Ubuntu ha sacado una versión web muy simple en la que podrás toquetear sin miedo a romper nada y quizás te animes a dar el salto y aprender cosas nuevas (y libres).

Ubuntu Tour

Un salu2!!