Crea tu propio despertador con cron

Utilizo desde hace poco un “servicio despertador” simple pero eficaz: sin necesidad de instalar aplicaciones extra o demasiado pesadas para el simple objetivo de despertarnos cada día a una determinada hora. Montaremos gracias a cron un despertador, ordenando a este ‘administrador’ que nos ejecute una aplicación cada día, a la hora asignada. Mediante unas simples órdenes en terminal podremos restaurar el estado anterior de crontab o modificar su variables.

Para ese breve tutorial explico, como decía, cómo programar un peculiar despertador. Sin embargo, una vez aprendido esto os resultará sencillo imaginar la versatilidad de estas acciones para cualquier tarea que deseemos ejecutar periódicamente en nuestro equipo GNU/Linux.

Los interesados en aprender algo más acerca de cron, podéis empezar por aquí. Y cito:

(…) cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab.

Si abrimos por primera vez este archivo, nos encontraremos con lo siguiente:

# m h  dom mon dow   command

Lo que leéis nos indica, mediante siglas en inglés, el orden que debemos seguir para asignar un comando al momento que deseemos: el minuto (m), la hora del día (h), día del mes (dom), el mes (mon), el día de la semana (dow) y la orden (command).

Para el ejemplo que nos ocupa aquí, voy a programar la ejecución de vlc que abrirá, a su vez, un archivo mp3, a las 07:00 de cada día de la semana, durante todo el mes.

Primero, abro una terminal y:

env | grep DISPLAY

Obtengo el resultado DISPLAY=:0.0

Ya sólo me queda editar crontab:

crontab -e

Elijo nano para editar el archivo crontab. Debajo de la línea que comentaba antes (“# m h dom mon dow command”) indico el momento, dónde se mostrará la aplicación y qué se ejecutará. En este caso, lo dejaré de este modo (las modificaciones, en rojo):

# m h dom mon dow command
0 7 * * * env DISPLAY=:0.0 vlc /almacen1/musica/star-brand-new-day.mp3

Ahí he programado que se muestre una tarea (vlc y el archivo que va a abrir) a las 7h, en su minuto 0, todos los días del mes (dom), todos los meses (mon) y todos días de la semana (dow). Como ya imaginaréis, el asterisco indica que no hay un tiempo determinado, un momento específico en el que ejecutar la orden sino que se debe abrir vlc todos los días del mes, todos los meses y todos los días de la semana.

Compártelo. ¡Gracias!

9 Comentarios
  1. nordri says:

    en domingo también a las 7 de la mañana???

  2. Christopher says:

    ¿Tendría que tener la computadora todo el día encendida para que funcione? si es así no es nada funcional.

  3. juan says:

    Christopher, no no, apagala nomás. La computadora se encenderá automágicamente y te despertará XDDDD

  4. exforero says:

    Hola, lo primero agradecer y felicitar a Alex por su trabajo os visito todos los días. Será por algo no!!

    Algunas bios permiten que se programe el ordenador para que arranque a una hora determinada, e incluso existe nvram-wakeup (ojito que puede ser peligroso su uso). También si la Bios soporta reencenderse por si se va la luz, se podría conectar el pc a un programador de encendido externo, que tiene muchas programaciones.

    También se puede configurar el pc para entrar sin tener que introducir la contraseña.

    Luego sería mejor que el cron llamara a un script, desde el por ejemplo se ajustaría el nivel de sonido por si el reproductor de sonido no estuviera configurado para que siempre tengal el mismo nivel. Y luego se podría usar por ejemplo kalarm u otro parecido, creo recordar que se podían añadir las excepciones, osea los dias de fiesta, sábados o domingos que no quieres que te despierte. Y después añadir otra programación para que apague el pc. Se puede aprovechar ya que se encendió el ordenador para que hiciera un backup o algo por el estilo que nunca se hace y luego pasa lo que pasa.

    Yo usaba en su día para pasar datos de un pc a un portátil y llevármelo al trabajo, el portátil con ssh y rsync, no tenía opción en la Bios para programar su encendido del portátil, así que usaba el wake on lan para despertarlo.

    El artículo de Alex me parece genial, se trata de dar una idea del uso del cron, luego cada cual lo ajuste a su agrado.

  5. nombre says:

    Gran idea !!!
    yo lo hago con una llamada al telefono movil ejecutando en el cron la orden
    # cu [numero de telefono]

Dejar una respuesta

no se hace responsable de las opiniones de los internautas
Por favor revisa la ortografía y respeta las normas de la web.
XHTML: Puedes utilizar los siguientes tags:
<a href=""> <b> <i> <strong>

Linux Zone © 2007 - 2019