Řešení 1:
Minulý týden jsem měl podobný úkol. Mým řešením bylo vynásobit standardní cron záznamy na požadovanou frekvenci. Můj crontab vypadá takto:
* * * * * /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
Pokud chcete zkontrolovat výsledky myscript.php, např. pro ladění stačí připojit
&> /tmp/myscipt.log
na každý řádek v crontab výše. Poté budou stderr a stdout přesměrovány do souboru protokolu.
Řešení 2:
Nemůžete naplánovat úlohu každých deset sekund, ale předpokládám, že byste mohli naplánovat spuštění úlohy každou minutu a spát ve smyčce v 10s intervalech. To by bylo podmíněno tím, že váš příkaz bude dokončen před uplynutím desetisekundového intervalu, nebo se při spuštění dalšího příkazu překryjí. Připadá mi to jako nejisté řešení, ale pokud můžete zaručit velmi krátké provedení hlavního příkazu skriptu, fungovalo by to.
#!/bin/bash
i=0
while [ $i -lt 6 ]; do
/run/your/command &
sleep 10
i=$(( i + 1 ))
done