GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire Cronjobs più spesso di una volta al minuto?

Ecco un semplice script bash che ho scritto che può essere utilizzato con crontab per essere eseguito più frequentemente di 1 minuto.

puoi salvarlo come ~/bin/runEvery.s e poi in crontab scrivi qualcosa del genere per eseguire otherScript.sh ogni 5 secondi:

*/1 * * * * ~/bin/runEvery.sh 5 otherScript.sh

Questo è lo script:

#!/bin/bash

inputPeriod=$1
runCommand=$2
RUN_TIME=60
error="no"

if [ 'x'"$runCommand" != 'x' ]
then
    if [ 'x'$inputPeriod != 'x' ]
    then
        loops=$(( $RUN_TIME / $inputPeriod ))
        if [ $loops -eq 0 ]
        then
            loops=1
        fi

        for i in $(eval echo {1..$loops})
        do
            $runCommand
            sleep $inputPeriod
        done

    else
        error="yes"
    fi
else
    error="yes"
fi

if [ $error = "yes" ]
then
    echo "runEvery - runs a command every X seconds for a minute"
    echo "Usage: runEvery.sh <# in seconds < 60> <command to run>"
fi

Questo deve essere fatto a livello di script.

// cron.php running every 10 seconds

<?php

$expireTime = time() + 60;
while (time() < $expireTime) {
     // my php logic here

     sleep(10); 
     // sleep for 10 seconds
     // you may change the sleep time to change frequency
}

Linux
  1. Eseguire un comando una volta per riga di input convogliato?

  2. Come dividere il terminale in più di una "vista"?

  3. Come eseguire sbt come demone?

  4. Perché rand() ripete i numeri molto più spesso su Linux che su Mac?

  5. Come ordinare ls per estensione di file e quindi per nome?

Come eseguire Windows 95 su Linux

Come eseguire i comandi del file .sh tutto in una volta in Linux

Come eseguire uno script Bash

Come eseguire più comandi Linux contemporaneamente nel terminale Linux

Posso eseguire un cron job più frequentemente di ogni minuto?

Come associare il server MySQL a più di un indirizzo IP?