![Solucione el error "El elemento no se puede copiar porque es demasiado grande para el formato del volumen"](/f/f5081f15240229d6063b23f785be736c.jpg?width=100&height=100)
Breve: El programador de trabajos cron no admite la programación de trabajos para que se ejecuten en un intervalo de segundos. En este artículo, le mostraremos un truco simple para ayudarlo a ejecutar un trabajo cron cada 30 segundos o x segundos en Linux.
¿Eres nuevo en el programador de trabajos cron y desea ejecutar un trabajo cada 30 segundos? Desafortunadamente, cron no lo permite. No puede programar un trabajo cron para que se ejecute cada X segundo. cron solo admite un intervalo de tiempo de al menos 60 segundos (es decir, 1 minuto). Para ejecutar un trabajo cron cada 30 segundos, debe emplear el truco que explicamos a continuación.
[ También podría gustarte: 11 ejemplos de programación de trabajos cron en Linux ]
En esta guía, también cubriremos muchos otros ejemplos para ejecutar un trabajo o comando, o secuencia de comandos cada x segundo. Pero comencemos explicando cómo ejecutar un trabajo cron cada 30 segundos en Linux.
Para lograr la tarea anterior, cree dos entradas en crontab. El primer trabajo ejecutará el
comando de fecha después de cada minuto (60 segundos), la segunda entrada hace uso de la comando de sueño retrasar por una cantidad específica de tiempo (30 segundos en este caso) e invocar el fecha comando de nuevo.Debe agregar las siguientes entradas en el crontab (tabla cron), y ábralo para editarlo usando lo siguiente crontab comando (el -mi
la bandera permite la edición):
# crontab -e.
Agregue las siguientes entradas cron al archivo.
* * * * * fecha>> /tmp/fecha.log. * * * * * dormir 30; fecha>> /tmp/fecha.log
Ahora bien, si comprueba el contenido de la /tmp/date.log archivo, deberías ver que el comando de fecha se ejecuta cada 30 segundos. Podemos usar el comando gato para ver el archivo y verifique la columna de tiempo para confirmar, de la siguiente manera:
$ gato /tmp/fecha.log.
También puede ver cómo se actualiza el archivo en tiempo real. Para hacer eso, use el comando de cola con el -F
bandera.
$ cola -f /tmp/fecha.log.
Veamos más ejemplos. Éste muestra cómo ejecutar un trabajo cron cada 10 segundos. El truco es simplemente jugar con el dormir comando número de segundos:
* * * * * fecha>> /tmp/fecha.log. * * * * * dormir 10; fecha>> /tmp/fecha.log. * * * * * dormir 20; fecha>> /tmp/fecha.log. * * * * * dormir 30; fecha>> /tmp/fecha.log. * * * * * dormir 40; fecha>> /tmp/fecha.log. * * * * * dormir 50; fecha>> /tmp/fecha.log.
Una vez más, si observamos el /tmp/date.log archivo, debe actualizarse cada 10 segundos según las entradas de crontab anteriores:
$ cola -f /tmp/fecha.log.
Aquí hay otro ejemplo de ejecución del comando de fecha después de cada 15 segundos:
* * * * * fecha>> /tmp/fecha.log. * * * * * sueño 15; fecha>> /tmp/fecha.log. * * * * * dormir 30; fecha>> /tmp/fecha.log. * * * * * dormir 45; fecha>> /tmp/fecha.log.
Finalmente, para ejecutar un trabajo cron cada 20 segundos, puedes tener algo como esto:
* * * * * fecha>> /tmp/fecha.log. * * * * * dormir 20; fecha>> /tmp/fecha.log. * * * * * dormir 40; fecha>> /tmp/fecha.log.
Además, aquí hay más artículos para que aprenda a programar trabajos usando cron:
¡Ahora lo sabes! Le hemos mostrado diferentes ejemplos para ejecutar un trabajo cron cada X segundo en Linux. Lea las páginas man de cron (ejecutando hombre cron
y hombre crontab
comandos) para obtener más información.
Si conoce algún consejo o truco útil sobre el comando cron, compártalo en los comentarios a continuación.