使用 Plan 模块在 Python 中编写 crontab 文件
首先,让我们了解什么是 crontab 文件。Cron 是一个软件实用程序,可帮助我们在基于 Unix 的系统上安排任务。因此,基本上,您将能够定期运行分配的任务,例如,在一天结束时自动进行系统备份,在特定时间自动关机或将模式设置为 DND 以及更多此类功能。
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 计划模块
好的,现在您已经了解了 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()
结论
您现在了解了如何在固定时间自动运行脚本。使用此功能,您可以自动检查项目中的拼写,在特定时间自动备份系统,甚至可以每天获取项目的覆盖率报告。