1. Introducción
TaskScheduler es una herramienta destinada a la programación de tareas en LliureX. Para ello se usan los mecanismos propios del sistema para este fin, concretamente cron y at
Cron es un demonio del sistema encargado de ejecutar tareas de manera cíclica. Por ejemplo se puede programar una tarea para que todos los lunes a las 03:00 AM se lance una actualización del sistema, o para que los 29 de febrero se actualice el mirror de Lliurex.
Cron no está pensado para lanzar tareas una sola vez si no para ejecutarlas cada vez que se cumplen las condiciones específicadas en el horario. Por ejemplo si se programa una tarea de lunes a viernes se ejecutará todos los días de lunes a viernes. Si se programa una tarea para un jueves 26 de Junio a las 14:00 se ejecutará todos los jueves 26 de Junio a las 14:00, etc..
Por contra, at ejecuta una tarea una sola vez en la fecha programada. Si se programa una tarea el 13 de Agosto a las 12:00 se ejecutará ese día concreto y nunca más.
2. Pantalla inicial
Para lanzar la aplicación se hará, como habitualmente, desde el menú de aplicaciones -> administración de Lliurex -> Taskscheduler
imagen
La pantalla inicial muestra un resumen de las diferentes opciones de la aplicación para un acceso rápido a las mismas
imagen
3. Panel de control
La primera sección muestra por orden de próxima ejecución las diferentes tareas programadas. Aquí encontraremos tanto las programaciones realizadas en cron como las de at. Para cada tarea programada se muestran los siguientes datos a modo de resumen:
- Comando o alias a ejecutar. Si se ha asignado un alias (punto 3) se mostrará el nombre del alias
- Fecha de próxima ejecución
- Marca de no editable (solo se muestra si no es editable)
- Fichero de cron donde se encuentra el comando
- Tiempo restante a la próxima ejecución
imagen
Al pulsar sobre una de las programaciones se mostrará la ficha de edición avanzada de la misma.
4. Programar tarea
Esta sección muestra una interfaz simplificada para añadir una tarea con una programación horaria básica.
imagen
Los campos son bastante descriptivos. Básicamente hay que rellenar la información correspondiente en cada uno de ellos.
- Comando: Comando a ejecutar. Puede ser un script, una aplicación de consola (sin interfaz gráfica), un comando del sistema... Bastará con escribir el comando y sus parámetros de tenerlos. Taskscheduler guarda un historial interno de comandos usados por lo que se puede recuperar cualquiera en cualquier momento.
- Hora y minuto: La hora y el minuto al que se ejecutará el comando.
- Repetición: Solo para tareas de cron, los trabajos puntuales no tienen repetición. Puede ser diaria, mensual o anual. Si es una tarea mensual o anual puede seleccionarse la fecha en el calendario. En la programación mensual lógicamente solo se usará el día seleccionado en el calendario mientras que para la anual se usará tanto el día como el mes.
- Tipo de tarea: Cron del usuario, Cron del sistema o Trabajo puntual. Los trabajos puntuales son aquellos para los que no se quiere una repetición sino que se ejecuten una sola vez. Si se usa esta opción se usará el campo del calendario para el día y la hora en la que se ha de ejecutar, que siempre serán del presente año.
- Calendario: En los tipos de programación que proceden permite seleccionar el día o el día y el mes en que queremos que se ejecute un comando.
5. Programación avanzada
Taskscheduler ofrece también un modo más avanzado para programar tareas
imagen
Básicamente consiste en una pantalla similar en la que es posible indicar más detalladamente la programación de la tarea. Por ejemplo es posible indicar rangos de horas durante los cuales se ejecutará el comando (por ejemplo entre las 08:00 y las 20:00), diferentes horas (por ejemplo a las 09:00, a las 15:30 y a las 17:00). De forma análoga es posible configurar los meses y los días de semana, pudiendo en este último caso indicar días numéricos o días de la semana (por ejemplo los martes).
El resto de funcionalidades es exáctamente igual al de cualquier programación estándar.
6. Añadir comandos
Para facilitar el manejo de la aplicación se incorpora un mecanismo de "alias" para los comandos. Desde esta pantalla podemos indicar un comando junto a sus parámetros y asignarle un alias que será seleccionable desde el selector de comandos a la hora de programar tareas.
imagen