使用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()
结论
您现在了解了如何在固定时间自动运行脚本。使用它,您可以自动化项目中的拼写检查,在特定时间自动化系统备份,甚至每天获取项目的覆盖率报告。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP