使用Plan模組在Python中編寫crontab檔案
首先,讓我們瞭解一下crontab檔案是什麼。Cron是一個軟體實用程式,可以幫助我們在基於Unix的系統上安排任務。基本上,您可以定期執行分配的任務,例如,在一天結束時進行自動系統備份,在特定時間自動關機或將模式設定為勿擾等等。
cron中的這些“任務”通常定義在一個名為crontab的檔案中,該檔案基本上是一個包含要執行的命令的文字檔案。
現在讓我們學習如何使用plan模組在Python中編寫這些crontab檔案!
入門
在進入實現部分之前,讓我們首先了解Cron語法。Cron語法由5個不同的欄位組成,這些欄位用空格分隔。
Minute Hour Day Month Day_of_week Minute (0-59), Hour (0-23), Day (1-31), Month (1-12) and Day of week (0-6).
您還可以使用逗號分隔值幷包含多個值。使用連字元來驗證範圍。星號表示所有可能的值,最後斜槓表示所有內容。
例如,`0 15 3,6 * *`告訴cron在每個月的第3天和第6天下午3點執行任務。
安裝Python Plan模組
好了,現在您瞭解了cron的工作原理,讓我們開始安裝所需的模組plan。
此模組沒有預先打包在Python中。因此,我們將使用pip包管理器下載並安裝它。
要安裝plan模組,請使用以下命令:
pip install plan
現在,我們可以使用以下命令將其匯入到我們的指令碼中:
from plan import Plan
您已準備好開始建立cron檔案了。
使用plan模組建立crontab
讓我們從為將儲存一組cron的類建立例項開始。
cron = Plan()
接下來,您可以繼續定義要自動執行的函式、指令碼或命令。
讓我們假設我們有一個指令碼,每5小時自動傳送待辦事項提醒郵件。假設此指令碼位於“/projects/scripts/automation.py”。
我們還希望它每4小時列印一次“hello”。我們該如何做到這一點呢?
我們有不同的方法可以做到這一點。
我們可以使用`cron.command()`函式或`cron.script()`函式。這兩個命令都有助於實現我們的目標。
cron.command("echo hello", every= "4.hours") cron.script("automation.py", path= "/projects/scripts" every= "5.hours")
現在,讓我們在主函式中使用`cron.run()`命令執行這些命令。
If __name__ == "__main__": cron.run()
就是這樣!您現在已經自動化了步驟,並定義了指令碼執行的固定時間。
示例
這是完整的程式:
from plan import Plan cron = Plan() cron.command("echo hello", every= "4.hours") cron.script("automation.py", path= "/projects/scripts" every= "5.hours") If __name__ == "__main__": cron.run()
結論
您現在瞭解瞭如何在固定時間自動執行指令碼。使用它,您可以自動化專案中的拼寫檢查,在特定時間自動化系統備份,甚至每天獲取專案的覆蓋率報告。