Programar una tarea repetitiva en Ubuntu Server 18.04 LTS con Webmin

Publicado por P. Ruiz en

Webmin logoDesde el punto de vista administrativo, resulta muy interesante poder configurar el sistema para que ejecute ciertas tareas de forma repetitiva, con un determinado periodo entre una ejecución y la siguiente.

De este modo, podremos desentendernos, al menos en parte, de esas tareas repetitivas que se encuentran asociadas a la administración. Por ejemplo, las copias de seguridad, la verificación de las cuotas de almacenamiento en disco, la comprobación de los discos duros o incluso su defragmentación, por mencionar solo algunas.

En cualquier caso, es importante que, a lo largo del tiempo, mantengamos una supervisión de las tareas que hayamos automatizado, para asegurarnos de que realmente se están ejecutando como teníamos previsto.

En SomeBooks.es te hemos explicado cómo programar tareas en el artículo Programar una tarea repetitiva en Ubuntu Server 18.04 LTS. Sin embargo, el método que te explicábamos ahí necesitaba que accedieras físicamente (o mediante SSH) al equipo que quieres administrar y trabajar en su línea de comandos.

Si alguno de estos requisitos te supone un problema, o simplemente consideras más cómodo realizar el trabajo desde la sencillez de una interfaz web, hoy te enseñamos cómo lograrlo con Webmin.

Webmin es una herramienta muy veterana, con una gran cantidad de documentación, desde la que podemos realizar casi cualquier tarea administrativa de forma remota. Es decir que, si vas a realizar otras tareas administrativas en tu sistema, con esta herramienta las tendrás todas centralizadas.

Además, podrás realizar esas labores desde otro dispositivo de la red, independientemente de su sistema operativo. Incluso podrás utilizar un smartphone o una tablet. De hecho, para el artículo de hoy usaremos un equipo con Windows 10.

Si aún no has instalado Webmin en tu servidor, puedes echar un vistazo a los artículos Instala Webmin y administra Ubuntu 18.04 desde el navegador y Poner Webmin en español.

Acceder a las tareas programadas del sistema

Como cabe esperar, lo primero será abrir el navegador de Internet y, en la barra de direcciones, escribir lo siguiente:

https://dirección:10000

Al hacerlo, obtendremos un formulario de autenticación.

En él, debemos usar las credenciales de una cuenta con privilegios administrativos sobre el equipo al que accedemos.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-001

Poco después, nos encontraremos en la página principal de Webmin.

Comenzaremos desplegando la categoría Sistema en el panel izquierdo.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-002

Y, en su interior, haremos clic sobre el módulo Tareas planificadas (Cron).

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-003

De esta forma tan sencilla, obtendremos la página Tareas de Cron Planificadas, donde encontramos una relación de todas las tareas programadas hasta el momento.

En nuestro ejemplo, solo las predeterminadas del sistema.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-004

Crear una nueva tarea programada.

Una vez en la página Tareas de Cron Planificadas,estamos listos para crear una nueva tarea programada.

Comenzaremos haciendo clic sobre el enlace Crear una nueva rarea de cron en catálogo.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-005

Al hacerlo, obtendremos un formulario que nos permitirá configurar nuestra nueva tarea programada. Como puedes ver en la imagen siguiente, la página se divide en diferentes secciones: Detalles de Tarea, Cuándo ejecutar y Rango de fechas en las que ejecutar.

En la primera, podremos configurar los siguientes aspectos:

  • Ejecutar tarea de cron como: Aquí elegiremos la cuenta de usuario que ejecutará la tarea.

    Haciendo clic sobre su icono, obtendremos una lista con las cuentas de usuario presentes en el sistema.

    Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-006

    Solo hay que hacer doble clic sobre el nombre de la cuenta adecuado.

    Para nuestro ejemplo, elegiremos la cuenta root.

    Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-007
  • ¿Activa?: Aquí indicamos si la tarea estará activa después de crearla. Esta opción nos permite tener la tarea activa, o no, durante ciertos periodos sin necesidad de eliminarla y volver a crearla.

    En nuestro ejemplo dejaremos , que es el valor predeterminado.

  • Comando: Es donde escribimos el comando que debe ejecutarse periódicamente.

    Para nuestro ejemplo, vamos a suponer que necesitamos programar el apagado del equipo todos los días laborales a una hora determinada. Por lo tanto, el comando a ejecutar será algo así:

    /sbin/shutdown -h now

    Por supuesto,tu podrás incluir el comando del sistema que necesites o, incluso, escribir un script para realizar una tarea más concreta.

    Dejamos la tarea activa y escribimos el comando

    Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-008

    Cuando programamos una tarea, siempre se recomienda incluir la ruta completa del ejecutable, por si dicha ruta no se encontrara incluida en la variable PATH en el momento de ejecutar la tarea.

  • Entrada del comando: Lo que escribamos en este campo se enviará como entrada al comando en el momento de ejecutar la tarea programada.

    Para nuestro ejemplo, lo dejaremos vacío.

  • Descripción: Tendrá un texto descriptivo de la tarea que nos ayudará en el futuro a entender lo que hace.

    Para nuestro ejemplo, también lo dejaremos vacío.

En la sección Cuándo ejecutar, estableceremos el momento exacto en el que debe ejecutarse la tarea. Aquí podemos elegir entre dos opciones:

  • Planificación simple: Nos ofrece una lista con intervalos predefinidos, entre los que podemos elegir el que más nos interese:

    • Horariamente, cuya traducción mas correcta sería cada hora.

    • Diariamente (a la medianoche).

    • Semanalmente (el Domingo).

    • Mensualmente (el día 1).

    • Anualmente (el 1 de Enero).

    • Cuando el sistema arranca.

    La lista Planificación simple desplegada.

    Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-009
  • Horas y fechas seleccionadas abajo: Nos permite elegir de forma detallada el momento de ejecución de la tarea.

    En la cabecera de cada rango de valor podremos elegir entre Todos y Seleccionado. Así, si en la lista Días seleccionamos Todos, la tarea se ejecutará todos los días. Sin embargo, si en la lista Horas elegimos Seleccionado, solo se ejecutará en las horas elegidas.

    Lo mismo ocurre con Días de Semana aunque, en este caso, la elección puede influir sobre la columna Días. El motivo es que, aunque hayamos elegido todos los días, la tarea solo se ejecutará cuando estos coincidan con los días de la semana seleccionados.

    Para nuestro ejemplo, indicaremos que la tarea se ejecute todos los días laborales a las 15:00.

    Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-010

Finalmente, la sección Rango de fechas en las que ejecutar, podemos elegir un intervalo de fechas en las que la tarea se encontrará activa. Usándolo, no tendremos que acordarnos de habilitar o deshabilitar la tarea en los momentos oportunos. En este apartado tenemos dos opciones:

  • Ejecutar en cualquier fecha: Lo elegiremos cuando no queremos limitar el tiempo en el que la tarea se encuentre activa.

  • Solo ejecutar desde: Incluiremos las fechas en las que la tarea debe encontrarse activa.

Con esto, habremos terminado la definición de la tarea programada.

Para terminar, haremos clic sobre el botón Crear, al final de la página.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-011

Al hacerlo, regresaremos a la página principal del módulo, donde podremos encontrar la tarea recién creada.

Si queremos modificarla, bastará con hacer doble clic sobre ella, para volver al formulario anterior.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-012

Y para eliminar una, o varias. tareas, solo hay que marcar la casilla de verificación que tienen a su izquierda y, a continuación, hacer clic sobre el botón Delete Selected Jobs.

Comprobar el resultado

Si quieres comprobar lo que ha hecho Webmin en la trastienda, basta con desplazarte hasta el servidor, o abrir una terminal remota y escribir recurrir al comando crontab:

sudo crontab -e

Escribimos el comando y pulsamos la tecla Intro.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-013

Al momento, tendrás en pantalla el contenido de las tareas programadas. Como ves, además de una primera tarea generada automáticamente por Webmin, encontramos la que hemos generado desde la interfaz web.

Solo nos queda salir del editor pulsando las teclas Ctrl + X.

Programar-una-tarea-repetitiva-en-Ubuntu-Server-1804-LTS-con-Webmin-014

Webmin también dispone de una terminal remota, que podríamos haber utilizado para esta comprobación, pero ya hablaremos de ella en un artículo futuro.

Y esto es todo por el momento. Espero que te resulte útil.