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

CronJob 25 分ごと

crontab のコマンドは /bin/sh で実行されます したがって、算術展開を使用して、現在の分のモジュロ 25 がゼロに等しいかどうかを計算できます。

*/5 * * * * [ $(( $(date +\%s) / 60 \% 25 )) -eq 0 ] && your_command

cron このエントリ全体を 5 分ごとに実行しますが、現在の分 (エポックからの分数) モジュロ 25 がゼロに等しい場合にのみ your_command を実行します .

他の人が指摘しているように、1 日は 25 分で割り切れないため、your_command にはなりません。 毎日同じ時間に実行しますが、 25 分ごとに実行されます。


最善の策は、20 分または 30 分で実行することです。

次に最適なのは、5 分ごとにトリガーし、内部カウントまたはタイムスタンプを保持して、5 回ごとにトリガーを実行するか、最後の実行から 25 分経過した場合に実行することです。

より複雑なのは、真夜中から開始して 1 日の正しい時刻を計算し、1 日の終わりにエラーを受け入れることです。これには、crontab エントリを異なる時間に複製することが含まれます。

それよりも複雑なのは、さまざまな組み合わせをカバーするために crontab エントリの多くのコピーを必要とする、1 か月全体の時間を計算することです.

最後に、独自の Always On デーモンを実装して、スケジューリングを行うことができます。


私はそれを直接経験したことはありませんが、fcron はすぐに使いたいことを実行できるようです。そのドキュメントによると、頻度を指定できます:

# Get our mails every 30 minutes 
@ 30 getmails -all 

# make some security tests every 48 hours of system up time, 
# force a mail to be sent to root even if there is no output 
@mailto(root),forcemail 2d /etc/security/msec/cron-sh/security.sh

Linux
  1. cronjob でパスワードなしの MySQLdump

  2. 3か月ごとにcronジョブを実行する方法は?

  3. 毎日特定の時間にcronジョブを実行する方法は?

  1. X秒ごとにLinuxコマンドを実行または繰り返す方法

  2. Linux – Systemdで30分ごとにスクリプトを実行しますか?

  3. 15分ごとに「xribfa4」を実行している疑わしいcrontabエントリ?

  1. WGET を使用して cronjob PHP を実行する

  2. 1時間10分ごとにcronジョブを実行する方法

  3. 毎週日曜日にcrontabジョブを実行する方法