lunes, 27 de diciembre de 2010

Programar/Automatizar tareas no repetitivas, con Gnome-Schedule

Este tema es continuación del tema Programar / Automatizar tareas repetitivas con Gnome Schedule/

Imagina que quieres programar una tarea para que se ejecute una sola vez en un determinado momento, este tipo de tareas son Tareas No Repetitivas. Para programar/automatizar tareas ( tanto las repetitivas como las no repetitivas ) existe un programa gráfico: Gnome-Schedule. Para programar / automatizar tareas no repetitivas se puede hacer también de otra forma, con la terminal: Programar / Automatizar tareas no repetitivas con el comando at, es conveniente leer éste tema para comprender mejor el tema actual).

Si queremos que una tarea (o varias ) se ejecute una sola vez en un tiempo determinado ( Tarea No Repetitiva) , podemos usar Gnome-Schedule con la opción "Una tarea que se lanza una sola vez" : esta opción Gnome-Schedule hace de interfaz gráfica del comando at , por lo que antes de ejecutar el comando at, y por tanto las tareas no repetitivas en Gnome-Schedule hay que asegurarse de que el daemon de at (atd ) se ha ejecutado al inicio del sistema ( en mi caso no se iniciaba por defecto, y tuve que hacer que se iniciara: Desde el programa boot-up-manager ( el ejecutable es bum ) he visto que el demonio del comando at ( atd) no estaba activado para que se ejecutara desde el inicio del sistema; he activado el atd, y reiniciado el pc, para que el daemon atd se ejecute desde el inicio .

Inicio de Gnome-Schedule:

Una vez ejecutamos el programa, nos aparece la ventana principal del programa



desde la que podemos seleccionar el tipo de tarea programada: "tarea que se lanzará una sola vez"



En la pantalla de Edición de la Tarea, para ejecutar una tarea única con Gnome-Schedule hay que:

- Poner un nombre descriptivo a la tarea

- Seleccionar la casilla  "Aplicación X"



- Elegir el Tiempo de ejecución: Año, Mes, Dia, Hora y Minuto

- En la sección  Tareas hay que poner:
SHELL=/bin/bash ; DISPLAY=:0 ; un espacio y luego o bien el ejecutable o bien la ruta completa donde esta el script con el que se ejecute un programa gráfico, o bien el comando

Por ejemplo

SHELL=/bin/bash ; DISPLAY=:0 ; sylpheed ---> ejecutable del prográma
SHELL=/bin/bash ; DISPLAY=:0 ; /home/usuario/changebutton ---> ruta completa del script
SHELL=/bin/bash ; DISPLAY=:0 ; cp /home/usuario/fsck /home/usuario/Escritorio ---> comando

Fijarse bien en que los punto y coma ( en rojo ;) están separados por un espacio tanto de lo que los precede como de lo que les sigue:  hay un espacio de separación en varias zonas de las lineas, es necesario ponerlo exactamente así para que se ejecute la tarea.

Se puede crear tres tareas distintas con cada una de las líneas anteriores ; o crear una sola tarea con las tres lineas: en este caso se ejecuta primero el programa gráfico, y cuando lo cierras, se ejecuta luego el script con el que se ejecuta un programa gráfico, y cuando se cierra éste, por fin se ejecuta el comando.

Con cada una de esas tareas se puede crear una Plantilla que nos sirva para futuras ejecuciones, cambiando solo la segunda parte de la linea ( la que esta en azul )



-----------------------------

Gnome-Schedule con permisos de root: El programa Gnome-Schedule se puede usar también con permisos de root, si queremos que las tareas las realice el root, ejecutando: sudo gnome-schedule; Si queremos que se ejecute un script o comando que en su sintaxis lleva el comando sudo, es decir que necesita permisos de root para ejecutarse, tendremos que usar Gnome-Schedule con permisos de root para ejecutar dicha tarea.

Desde el programa Gnome-Schedule del usuario ( y de cada usuario si hay varios  ) y desde el del root, se accede cada uno a sus propias tareas. Desde el Gnome-Schedule ejecutado con permisos de root se puede acceder  ( y modificar )   a las tareas de cada uno de los usuarios que tengamos en el sistema, a través de una nueva opción (cambiar de usuario ) que aparece en la barra de herramientas del programa.



----------------------------------



1 comentario:

  1. Interesante aplicación.
    Gracias por ponerme sobre la pista.
    Un saludo Nicasio

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.