GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso programmare un lavoro cron che viene eseguito ogni 10 secondi in Linux?

Soluzione 1:

Ho avuto un compito simile la scorsa settimana. La mia soluzione era moltiplicare le voci cron standard alla frequenza desiderata. Il mio crontab è simile 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

Se vuoi controllare i risultati di myscript.php, ad es. per il debug, basta aggiungere

&> /tmp/myscipt.log

a ogni riga nel crontab sopra. Quindi stderr e stdout vengono reindirizzati al file di registro.

Soluzione 2:

Non puoi pianificare il lavoro ogni dieci secondi, ma suppongo che potresti programmare l'esecuzione del lavoro ogni minuto e dormire in un ciclo a intervalli di 10 secondi. Ciò si baserebbe sul completamento del comando prima della scadenza dell'intervallo di dieci secondi, oppure si otterrà una sovrapposizione all'esecuzione del comando successivo. Sembra una soluzione precaria, ma se puoi garantire un'esecuzione molto breve del comando principale dello script, funzionerebbe.

#!/bin/bash
i=0

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

Linux
  1. Come istruire cron a eseguire un lavoro ogni due settimane?

  2. Come posso creare a livello di codice un nuovo cron job?

  3. Come impostare un cron job per eseguire un eseguibile ogni ora?

  4. In che modo cron pianifica internamente i lavori?

  5. Eseguire un cron job su Linux ogni sei ore

Come impostare un Cron Job in Linux

Come eseguire un comando Linux ogni X secondi per sempre

Come pianificare un lavoro in Cron da eseguire ogni ora in Ubuntu 20.04

Cron Vs Anacron:come configurare Anacron su Linux (con un esempio)

Come pianificare i lavori con Cron in Linux

Come posso ottenere un cron job da eseguire ogni 30 minuti?