私は*/58 * * * * /usr/bin/php -f ....
58分ごとに走っていました。しかし、2 時間 11 分ごとに実行できる cron を作成する必要があります。それを行う方法はありますか?
質問する
1974 次
2 に答える
1
を使用できますat
。システムの起動時に呼び出されるとat -f /path/script.sh "now + 131minutes"
、131分の稼働時間後に/path/script.shが起動します。次に、/ path / script.shに、の別の呼び出しを挿入しますat
。http://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 に答える