GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu naplánovat úlohu cron, která se v linuxu spouští každých 10 sekund?

Ř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

Linux
  1. Jak spustit nebo opakovat příkaz Linuxu každých X sekund navždy

  2. Jak používat Cron Job Format k plánování úloh v Linuxu

  3. Jak dát cronovi pokyn, aby provedl úlohu každý druhý týden?

  1. Jak mohu programově vytvořit novou úlohu cron?

  2. Jak nastavit úlohu cron, aby každou hodinu spouštěla ​​spustitelný soubor?

  3. Jak cron interně plánuje úlohy?

  1. Jak používám cron v Linuxu

  2. Spuštění úlohy cronu na Linuxu každých šest hodin

  3. Jak mohu obnovit zastavenou úlohu v Linuxu?