Pregunta ¿Cómo puedo programar un trabajo cron que se ejecuta cada 10 segundos en linux?


Sé cómo hacerlo cada minuto, pero ¿qué tal cada 10 segundos?


12
2018-03-10 02:58


origen




Respuestas:


No puedes programar el trabajo cada diez segundos, pero supongo que podrías programar el trabajo para que se ejecute cada minuto y dormir en intervalos de 10 segundos. Esto se basaría en la finalización de su comando antes de que caduque el intervalo de diez segundos, o se superpondrá cuando se ejecute el siguiente comando. Esto se siente como una solución precaria, pero si puede garantizar una ejecución muy breve del comando principal del script, funcionaría.

#!/bin/bash
i=0

while [ $i -lt 6 ]; do
  /run/your/command &
  sleep 10
  i=$(( i + 1 ))
done

8
2018-03-10 03:04



Hago algo similar ... solo uso * 's en crontab, y luego mi script usa flock y loops para siempre, nunca se cierra a menos que no pueda obtener un bloqueo. - Peter


Tuve una tarea similar la semana pasada. Mis soluciones fueron multiplicar las entradas cron estándar a la frecuencia deseada. Mi crontab se parece a:

* * * * * /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 10; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 20; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 30; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 40; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 50; /usr/local/bin/php /var/www/myscript.php

Si desea verificar los resultados de myscript.php, p. Ej. para la depuración, simplemente añadir

&> /tmp/myscipt.log

a cada línea en el crontab de arriba. Luego, stderr y stdout se redirigen al archivo de registro.


13
2018-04-03 05:49



+1 para uso de cron creativo - shodanshok
Esta es la mejor solución en mi humilde opinión. Está claro lo que está haciendo y no requiere un script o una solución de terceros. - Jeremy


Yo uso Monit y ajustar el tiempo del ciclo a 10 segundos.

Hago esto con ciertos scripts que necesitan ejecutarse en un intervalo de 15 segundos.

Ver: ¿Cómo realizar copias de seguridad incrementales / continuas de la agrupación zfs?


1
2017-10-26 18:28





Cron solo permite un mínimo de un minuto. Puedes probar esto ...

* * * * * ( sleep 10 ; /usr/bin/wget http://api.us/application/)

0
2017-10-26 18:07