GNU/Linux >> Linux の 問題 >  >> Linux

Cronjobs を 1 分間に 1 回以上実行する方法は?

これは私が書いた単純な bash スクリプトで、crontab で使用して 1 分以上の頻度で実行できます。

~/bin/runEvery.shand として保存し、crontab で次のように記述して、5 秒ごとに otherScript.sh を実行します。

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

これがスクリプトです:

#!/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

これはスクリプト レベルで行う必要があります。

// 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. 特定の時間に 1 回だけファイルを実行するように cron を設定するにはどうすればよいですか?

  2. 複数の Tor プロセスを異なる終了 IP で一度に実行する方法は?

  3. rand() が Mac よりも Linux でより頻繁に数値を繰り返すのはなぜですか?

  1. ls をファイル拡張子でソートしてから名前を付ける方法は?

  2. MySQL サーバーを複数の IP アドレスにバインドする方法は?

  3. ZFS スクラブが *完了* したらコマンドを実行する方法は?

  1. ターミナルを複数の「ビュー」に分割するにはどうすればよいですか?

  2. シェルで 10 個を超えるパラメーターを処理する方法

  3. sbt をデーモンとして実行するには?