Cómo Ejecutar Crontab Cada 5 Minutos
Cuando se habla de un trabajo crontab es una tarea que se ejecuta a intervalos específicos, siendo tareas que se pueden programar para que se pueda ejecutar por minuto, hora, día del mes, mes, día de la semana o cualquier combinación de estos.
Si es tu caso qué no conoces este tipo de trabajo, a continuación te explicaremos cómo puedes ejecutarlo a través de 5, 10 o 15 minutos, y así poder automatizar la administración de tu sistema operativo.
Programadores para ejecutar tareas en 5 Minutos
Cron y Crontab son los encargados en que la programación de tareas en el sistema Linux sea posible, en la actualidad cualquier sistema operativo basado en Linux dispone de ambas herramientas.
Esto se debe a que estas herramientas cumplen con el objetivo de programar las diferentes tareas de forma repetitiva sin que el usuario tenga que encargarse de ello.
Cron
Cron es un proceso en segundo plano, que permite la ejecución desde el mismo instante en el que arranca el sistema operativo, encargándose de comprobar si existe alguna tarea para ser ejecutada, de acuerdo a la hora configurada en el propio sistema operativo.
Para esto es importante que la hora se encuentre bien configurada, y de igual forma la zona horaria, ya que las ejecuciones que realice Cron no se podrán corresppnder con las configuraciones.
Es por ello que para garantizar que tu sistema operativo esté configurado correctamente, es importante que obtengas la hora automáticamente de los servidores Network Time Protocol (NTP) que existen.
Esto permitirá realizar la comprobación de que tienes la hora correcta en tu sistema operativo, en qué zona horaria te encuentras y si el reloj del sistema está sincronizado con los servidores NTP, para poder ejecutar la siguiente orden:
timedatectl
Ante eso se debe mostrar en la pantalla lo siguiente:
En este sentido se puede ver como todas las horas cuadran perfectamente y el tiempo es el correcto, es por eso muy importante, de lo contrario, los "Cron" se ejecutarán en horas equivocadas, y en el caso que no tengas la zona horaria bien configurada, puedes configurarla de forma correcta con la siguiente orden:
timedatectl set-timezone Europe/Madrid
Por otra parte, la instalación del sistema operativo Linux, se configuran de forma automática con los servidores NTP que desees, en el caso que exista un fallo o que quieras cambiar estos servidores NTP, puedes hacerlo instalando el correspondiente servicio y configurándolo en /etc/ntp.conf.
Mientras que si es en función de la distribución, Cron se inicia utilizando las siguientes carpetas /etc/rc.d/ o /etc/init.d y cada minuto se comprueba con los ficheros /etc/crontab o /var/spool/cron en busca de posibles ejecuciones que hayas programado.
En este sentido cron lo puedes utilizar para automatizar el mantenimiento o la administración del sistema operativo, como hacer copias de seguridad de bases de datos o datos, actualizar el sistema con los últimos parches de seguridad, verificar el uso de espacio en disco , enviar correos electrónicos, entre otros, y su ejecución de trabajo más empleadas puede ser de cada 5, 10 o 15 minutos.
Crontab
Al hablar de Crontab este es un tipo de archivo de texto, se trata de un archivo con un contenido especial y específicamente diseñado para que pueda ser leído correctamente por Cron y de ese modo proceder con la ejecución que hayas programado.
De este modo, Crontab posee una lista con todos los scripts para ejecutar, y por lo general cada usuario del sistema posee su propio fichero Crontab, de esta forma cada usuario puede programar sus propias tareas repetitivas independientemente, sin necesidad de que siempre tengas que acudir al usuario administrador.
De esta forma, cualquier usuario incluyendo los administradores puede programar las tareas repetitivas para realizar diferentes ejecuciones, y para poder generar el archivo propio, cada usuario tiene que hacer uso del comando "crontab" en el caso que sea el mismo nombre.
También puedes leer 7 Mejores Emuladores De Sega Dreamcast Para Windows
Los Operadores y sintaxis de Crontab
Crontab o tabla cron es el archivo de texto que definirá la programación de los trabajos que debe ejecutar cro, dichos archivos de Crontab se pueden crear, ver, modificar y eliminar con el comando crontab.
De este modo, cada línea del archivo crontab del usuario contiene seis campos separados por un espacio seguido del comando que se ejecutará de la siguiente forma:
* * * * * command(s) ^ ^ ^ ^ ^ | | | | | allowed values | | | | | ------- | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
En los primeros cinco campos se encuentra la fecha y hora, además de aceptar los siguientes parámetros:
- (*) El asterisco significa todos los valores permitidos, en el caso que tiene el símbolo de asterisco en el campo Minuto, significa que la tarea se realizará cada minuto.
- (-) El guión te permite especificar un rango de valores, si lo establece 1-5 en el campo Día de la semana, la tarea se ejecutará todos los días de la semana, de lunes a viernes, es un rango que es inclusivo, lo que significa que el primer y último valor se incluyen en el rango.
- (,) La coma es la que le permite definir una lista de valores para su repetición, como por ejemplo, si tienes 1,3,5 en el campo Hora, la tarea se ejecutará a la 1 am, 3 am y 5 am, mientras que la lista puede contener valores y rangos únicos como 1-5,7,8,10-15.
- (/) La barra inclinada te permite especificar los valores de paso que se pueden usar junto con los rangos, como por ejemplo, si lo tiene de 1-10/2 en el campo de Minutos, eso significa que la acción se realizará cada dos minutos en el rango 1-10, igual que se debe especificar 1,3,5,7,9. Mientras que en lugar de un rango de valores, también puedes utilizar el operador de asterisco, para poder especificar que un trabajo se ejecute cada 20 minutos, puede utilizar * / 20
- @reboot significa que se ejecutará una única vez al inicio.
- @yearly/@annually representa que se ejecutará cada año.
- @monthly esta se ejecutará una vez al mes.
- @weekly esta opción significa que se ejecutará una vez a la semana.
- @daily/@midnight significa que se ejecutará una vez al día.
- @hourly significa que se ejecutará cada hora.
Por su parte, la sintaxis de los archivos crontab de todo el sistema es diferente a la de los crontabs del usuario, ya que contiene un campo de usuario obligatorio adicional que especifica qué tipo de usuario ejecutará el trabajo cron.
* * * * * <username> command(s)
Para poder editar el archivo crontab, o crear uno si no existe, use el comando de crontab -e.
Cómo Agregar Tareas a Crontab
Para ejecutar tareas, en primer lugar, vamos a configurar un script muy sencillo que se llama consulta.sh, y con la que puedes ubicar en el "Escritorio" o en "Documentos", siguiendo estos pasos:
- PRIMER PASO
Se debe ejecutar el script de forma directa en el editor de texto "nano" en la ubicación donde quieres ponerlo: nano consulta.sh
- SEGUNDO PASO
Mientras que el contenido del script sería el siguiente: #!/bin/bash
- TERCER PASO
Luego que hayas programado el script, que básicamente es el programa que lista los archivos y directorios del directorio actual, y lo exporta al archivo de texto, tienes que darle permisos de ejecución para poder ejecutarlo de forma correcta por parte de Cron, de lo contrario no tendrá permisos de ejecución: chmod ugo+x consulta.sh
- CUARTO PASO
Después de esto tienes que editar el fichero que posee las tareas, para ello recibes ayuda del comando crontab -e, con la siguiente estructura.
- QUINTO PASO
Son 5 asteriscos y el comando a ejecutar que pueden ser los siguientes:
- m: minuto
- h: hora
- dom: día de la semana
- mon: mes
- dow: día del mes
Cómo ejecutar Crontab cada 5 Minutos
Para poder realizarlo existen dos formas de ejecutar un trabajo cron cada cinco minutos, y son los siguientes:
Primer Método
En este caso se debe usar la coma (,) para poder crear una lista de minutos como la siguiente:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * command
En este caso la línea de arriba es sintácticamente correcta y funcionará bien, pero debes escribir la lista completa aunque resulte tedioso y propenso a errores, para poder ejecutar la tarea de forma correcta.
Segundo Método
Con esta opción para poder especificar un trabajo que se ejecutará cada 5 minutos por hora es utilizando la siguiente barra:
*/5 * * * * command
En este caso el */5 significa que se creará una lista de todos los minutos y se ejecutará el trabajo cada 5 minutos de la planificación.
Cómo ejecutar Crontab cada 10 minutos
Para poder ejecutar una tarea cada 10 minutos, tienes que agregar la siguiente línea en su archivo crontab:
*/10 * * * * command
Luego de esto tu sistema operativo estará trabajando conforme a la planificación establecida de actuar cada 10 minutos.
Cómo ejecutar Crontab cada 15 minutos
Para poder ejecutar una tarea de cada 15 minutos, tienes que agregar la siguiente línea en su archivo crontab:
*/15 * * * * command
Luego de ello podrá tu sistema operativo de forma efectiva ejecutar la tarea con respecto a la programación establecida.
Administración de la Tareas de Crontab
Como se ha visto el funcionamiento de Crontab es muy sencillo, y para que sea más sencillo todos los procedimientos te presentamos algunos comandos básicos para poder controlar el funcionamiento del propio Crontab:
- Para poder remplazar el archivo existente por otro que defina el usuario se debe utilizar el siguiente comando: crontab archivo
- Para poder editar el archivo existente en la se puede utilizar el comando: crontab -e
- Para poder listar todas las tareas existentes en el crontab del usuario debes ejecutar lo siguiente: crontab -l
- Para borrar el crontab que está configurado debes ejecutar este comando: crontab -d
- Si quieres definir el directorio en el que se almacenará el archivo de crontab, y poder realizar esta operación se debe tener permisos de ejecución en dicho directorio estableciendo este comando: crontab -c dir
- En el caso de la instrucción para manejar el crontab de otros usuarios existentes en el sistema debes ejecutar: crontab -u usuario
También puedes leer 8 Software de Sincronización de archivos para Windows 10
Como se pudo ver programar la ejecución de tareas con crontab no es nada complicado y se puede realizar de forma rápida si se tiene claro realizas los métodos presentados en este artículo.
Si quieres conocer otros artículos parecidos a Cómo Ejecutar Crontab Cada 5 Minutos puedes visitar la categoría Sistemas Operativos.
TE PUEDE INTERESAR