我在網路上爬文看到有人問,我想不出答案..
因為小時不是以整數為單位,怎麼做到半小時
嘗試1 : 0 3/2 * * *
結果 : 不行
嘗試2 : 0 1.5 * * *
結果 : 不行
嘗試3 : 30 1 * * *
結果 : 不行
嘗試4 : */30 */1 * * *
結果 : 不行
嘗試5 : */90 * * * *
想要以90分鐘做到
結果 : 不行
感謝,一個 crontab 做不到
需要兩個才行
並且無法以當下時間起算,需要指定從 HH:MM 開始
看清楚範例,不是指定從HH:MM開始...
是指定 在「哪幾個小時」的「第0分鐘」與「第30分鐘」的時候執行
感謝 通靈亡 大神
用 PostgreSQL 產生一個半小時間隔
select n
, n + '29 minutes' as shift29
from generate_series(
'today'::timestamp
, 'tomorrow'::timestamp
, '1.5 hours'
) n;
+---------------------+---------------------+
| n | shift29 |
+---------------------+---------------------+
| 2020-10-23 00:00:00 | 2020-10-23 00:29:00 |
| 2020-10-23 01:30:00 | 2020-10-23 01:59:00 |
| 2020-10-23 03:00:00 | 2020-10-23 03:29:00 |
| 2020-10-23 04:30:00 | 2020-10-23 04:59:00 |
| 2020-10-23 06:00:00 | 2020-10-23 06:29:00 |
| 2020-10-23 07:30:00 | 2020-10-23 07:59:00 |
| 2020-10-23 09:00:00 | 2020-10-23 09:29:00 |
| 2020-10-23 10:30:00 | 2020-10-23 10:59:00 |
| 2020-10-23 12:00:00 | 2020-10-23 12:29:00 |
| 2020-10-23 13:30:00 | 2020-10-23 13:59:00 |
| 2020-10-23 15:00:00 | 2020-10-23 15:29:00 |
| 2020-10-23 16:30:00 | 2020-10-23 16:59:00 |
| 2020-10-23 18:00:00 | 2020-10-23 18:29:00 |
| 2020-10-23 19:30:00 | 2020-10-23 19:59:00 |
| 2020-10-23 21:00:00 | 2020-10-23 21:29:00 |
| 2020-10-23 22:30:00 | 2020-10-23 22:59:00 |
| 2020-10-24 00:00:00 | 2020-10-24 00:29:00 |
+---------------------+---------------------+
(17 rows)
如果想要計時制。就得利用一下程式來幫你處理。
畢竟corntab是叫「排程」不是「計時」
用排程來做計時動作其實也是一招的。
crontab的運做原理,不是計時器,而是定時器。
你沒辦法要求它過幾分後運行。
只能要求他x年x月x日x點x分運行。
其實現在的crontab還不錯。有多了一個星期x運行。
很早以前還沒有可以設定星期x。
我自已是自行做了一個排程。可以達到計時跟定時。
然後再將現在的crontab調整成每分去檢查我寫的排程並運行。