0

私は*/58 * * * * /usr/bin/php -f ....58分ごとに走っていました。しかし、2 時間 11 分ごとに実行できる cron を作成する必要があります。それを行う方法はありますか?

4

2 に答える 2

1

を使用できますat。システムの起動時に呼び出されるとat -f /path/script.sh "now + 131minutes"、131分の稼働時間後に/path/script.shが起動します。次に、/ path / script.shに、の別の呼び出しを挿入しますathttp://linux.die.net/man/1/atを参照してください

于 2012-07-29T02:27:28.350 に答える
1

これ:

*/58 * * * * /usr/bin/php -f ....

58分ごとに実行されるわけではありません。*/5分フィールドが5の倍数である時間の後に毎分実行されるのと同じように*/58、58の倍数である時間の後に毎分実行されます。つまり、ジョブは00:00、00:58、01に実行されます。 :00、01:58、02:00、02:58など。2回の実行の間隔は、58分と2分の間で交互に行われます。

あなたが望むことをするcron以外のツールがおそらくあるでしょう。ただし、これにcronを使用する場合は、毎分実行されるジョブを作成できます。

 * * * * * your-wrapper-script /usr/bin/php -f ...

your-wrapper-script現在の時刻が131分の倍数(2時間11分)の場合にのみ引数を実行するように実装します。

このPerlスクリプトはトリックを実行する必要があります:

#!/usr/bin/perl

use strict;
use warnings;

my $now = time;
my $minutes = int($now/60);
if ($minutes % 131 == 0) {
    system @ARGV; # NOTE: No error detection
}
于 2012-07-29T04:00:40.513 に答える