cronタスクでは、実行時間を事前に設定する必要がありますが、実行時間を動的に決定することはできません(crontabを編集するスクリプトを使用してこれをハックすることはできますが、それはあまり良い考えではありません)。これは、基本的に2つのオプションがあることを意味します。
1)cronjobを毎分実行するように設定し、タッチした一時ファイルを使用して、スケジュールされたタスクの1つを最後に実行したことを通知します。実行するたびに、最後のタイムスタンプの間に実行するタスクがあったかどうかを確認します。一時ファイルと現在の時刻、および存在する場合はタスクを実行します。これは大雑把ですが単純な解決策です。
2)cronは使用しないでください。タスクを実行する必要がある時間をチェックし、それらを優先キューに入れるデーモンを作成します。デーモンは、最も早い要素をポップし、そのタスクを実行する時間になるまでスリープします。タスクを実行し、24時間後に実行されるように再挿入して、繰り返します。このソリューションははるかに洗練されていますが、より多くの作業が必要です。