Sé cómo hacerlo cada minuto, pero ¿qué tal cada 10 segundos?
14
No puede programar el trabajo cada diez segundos, pero supongo que podría programar el trabajo para que se ejecute cada minuto y dormir en un ciclo en intervalos de 10 segundos. Esto se basaría en que su comando se complete antes de que expire el intervalo de diez segundos, o se superpondrá cuando se ejecute el siguiente comando. Esto parece una solución precaria, pero si puede garantizar una ejecución muy corta 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
Tuve una tarea similar la semana pasada. Mi solución fue multiplicar las entradas cron estándar a la frecuencia deseada. Mi crontab se ve así:
Si desea verificar los resultados de myscript.php, por ejemplo, para depurar, simplemente agregue
a cada línea en el crontab de arriba. Luego, stderr y stdout se redirigen al archivo de registro.
fuente
Que haría uso de Monit y establecer el tiempo de ciclo de 10 segundos. Esta es una forma limpia de administrar esto fuera del sistema cron.
Hago esto con ciertos scripts que necesitan ejecutarse en un intervalo de 15 segundos.
Consulte: ¿Cómo realizar copias de seguridad incrementales / continuas del grupo zfs?
fuente
Cron solo permite un mínimo de un minuto. Puedes probar esto:
fuente
Si desea pasar menos de 10 segundos, por ejemplo, 5 segundos, le recomiendo hacer un bucle de trabajo con un pequeño script como ese:
Si necesita ir por debajo del segundo, agregue microsegundos al comando de fecha.
fuente
Aquí el script se puede ejecutar con el intervalo de 10 segundos ...
fuente