Solución 1:
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. para la depuración, simplemente agregue
&> /tmp/myscipt.log
a cada línea en el crontab de arriba. Luego, stderr y stdout se redireccionan al archivo de registro.
Solución 2:
No puede programar el trabajo cada diez segundos, pero supongo que podría programar el trabajo para que se ejecute cada minuto y duerma en un bucle 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