開發者工具 · Crontab 產生器
@reboot、@daily、@hourly:cron 的暱稱時間表來自哪裡
· 背景
規劃任務 別名 調度
@ 簡寫是可讀的、流行的但不通用。這篇文章解釋了每個擴充功能的內容、它們來自哪裡、@reboot 的特殊情況以及何時寫入這五個欄位。
@reboot 被拒絕,因為該工具預覽日曆時間,而不是啟動事件
`@reboot` 看起來與其他 at 符號形式類似,但在 ToolAcre 中沒有五個欄位日曆擴充。解析器拒絕它有一個明確的原因:沒有預覽時間表。啟動事件取決於該瀏覽器路由既不觀察也不控制的機器或服務生命週期。
這種區別使下次執行清單保持誠實。日曆別名可以成為具體的欄位和日期。如果不發明未來的重新啟動,重新啟動別名無法從當下時刻產生五個未來的掛鐘候選者。因此,拒絕比空洞或捏造的預覽更準確。
暱稱及其擴展 — @hourly、@daily 和 @midnight、@weekly、@monthly、@yearly 和 @annually 作為五個欄位的等效項
支援的表是準確的。`@hourly`變成`0 * * * *`; `@daily`和`@midnight`變得`0 0 * * *`; `@weekly`變成`0 0 * * 0`; `@monthly`變成`0 0 1 * *`;和`@yearly`加`@annually`變得`0 0 1 1 *`.
UI 在將值複製到五個單獨的方塊中之前解析接受的別名。解析傳回規範化的五欄位表達式,描述使用解析後的形式並測試迭代每個別名。因此,擴展是可檢查的而不是隱藏的速記。
沒有對守護程式啟動或系統引導行為進行建模
此路徑中的任何程式碼都不會接收作業系統啟動事件。沒有守護程式、啟動識別碼或服務依賴關係圖。工作簿有關 `@reboot` 何時執行的語句無法從故意拒絕令牌的解析器中建立。
如果目標支援啟動暱稱,請查閱該目標的生命週期定義並安全地測試它。不要使用 ToolAcre 的錯誤作為該功能普遍無效的證據,也不要使用其他實現的支援作為該路由應該預覽它的證據。
別名起源和跨實現傳播需要外在歷史來源
這本工作簿將別名歸因於歷史實現並描述了它們的傳播。該存儲庫不包含該宣告的主要歷史來源。它證明的是現在式行為:`ALIASES` 中的七個鍵、不區分大小寫的查找和拒絕未知的簡寫。
這對於實際檔案來說已經足夠了。讀者可以準確地看到哪些形式在這裡起作用以及它們擴展到什麼。出處可以稍後透過檔案來源添加;不應該從常量名稱或其他地方類似語法的流行程度來推斷它。
工作範例:用 0 0 * * * 取代 @daily - 以及為什麼明確形式還允許您將時間移至午夜
將 `@daily` 取代為 `0 0 * * *` 會公開時間欄位。將小時從 0 變更為 4 會產生 `0 4 * * *`,工具每天將其描述為 04:00。當午夜不是預期的掛牆時間時,明確的形式會更好。
欄位框使調整變得簡單,所選時區控制預覽時刻。複製的表達式在解析器結果中擴展後不包含別名,但原始文字可能保留在整個表達式方塊中,直到欄位發生變更。在部署之前檢查實際複製的值。
啟動時排序和依賴關係位於產生器之外
啟動工作通常取決於檔案系統、網路、憑證或其他服務。 ToolAcre 沒有依賴性模型,無法評估準備、延遲或重新啟動行為。即使它接受 `@reboot`,表達式驗證也無法解決這些操作問題。
將啟動時執行視為生命週期設計而不是日曆捷徑。記錄目標環境中的先決條件和故障處理。該產生器仍然適用於循環五場時間表,其下一個掛鐘時間實際上可以計算。
此處不評估服務管理器替代方案
此工作簿指向現代服務單位,但此儲存庫不會建置或比較它們。來源中沒有單元語法、依賴指令或啟動測試。因此,本文避免僅根據不受支援的暱稱來推薦替代品。
從目標檔案和操作需求中選擇生命週期機制。 ToolAcre 的貢獻是負邊界:`@reboot` 超出了其可預覽域,而普通日曆別名具有透明的五欄位等效項。
重點:暱稱是固定表達式的糖-產生器可讓您建立明確版本並將其讀回
別名是此實作中固定表達式的簡潔標籤。每當審查或定制受益於查看職位時,就可以擴展它們。 `@daily` 不是魔法;在所選預覽區域下的所有不受限制的日曆欄位中,現在都是午夜。
使用支援的列表,檢查擴展並在適當的時候遠離午夜。對於啟動事件,停止並選擇特定於目標的機制,而不是在日曆產生器中強制執行不可預覽的生命週期觸發器。這個界限是經過深思熟慮和測試的。