python - 如何按时执行脚本?

标签 python automation

我的机器上有两个 Python 脚本,我想在特定时间段每天执行两次。我如何自动执行此任务?由于我将离开家并离开我的计算机一段时间,我想将它们上传到一个站点并从那里自动执行,而无需我做任何事情。

我该怎么做?

最佳答案

如果您使用的是 Linux 机器,则可以使用 cron 执行此操作。 Cron 是用于在特定时间执行特定任务的系统守护进程。

cron 的工作原理是 crontab,这是一个包含在指定时间运行的命令列表的文本文件。它遵循特定的格式,可以在 man 5 crontab

中详细解释

crontab 的格式

每个部分都由一个空格分隔,最后一节中有一个或多个空格。第 1-5 节之间不允许有空格,只能在它们之间。第 1-5 部分用于指示您希望任务执行的时间和频率。这是 cron 作业的布局方式:

分钟 (0-59), 小时 (0-23, 0 = 午夜), 日 (1-31), 月 (1-12), 工作日 (0-6, 0 = 周日), 命令

01 04 1 1 1/usr/bin/somedirectory/somecommand

以上示例将在 1 月 1 日凌晨 4:01 以及 1 月的每个星期一运行/usr/bin/somedirectory/somecommand。可以使用星号 (*) 以便使用时间段的每个实例(每小时、每个工作日、每月等)。代码:

01 04 * * */usr/bin/somedirectory/somecommand

以上示例将在每个月的每天凌晨 4:01 运行/usr/bin/somedirectory/somecommand。

逗号分隔值可用于在一段时间内运行特定命令的多个实例。破折号分隔的值可用于连续运行命令。代码:

01,31 04,05 1-15 1,6 */usr/bin/somedirectory/somecommand

以上示例将在每年一月和六月的 1 日至 15 日凌晨 4:00 和 5:00 后的 01 点和 31 点运行 /usr/bin/somedirectory/somecommand

上面示例中的“/usr/bin/somedirectory/somecommand”文本表示将在指定时间运行的任务。建议您使用上述示例中所示的所需命令的完整路径。在终端中输入 which somecommand 以找到 somecommand 的完整路径。 crontab 将在正确编辑和保存后立即开始运行。

您可能希望每个时间单位运行脚本一定次数。例如,如果您想每 10 分钟运行一次,请使用以下 crontab 条目(运行时间可被 10 整除:0、10、20、30 等)

*/10 * * * */usr/bin/somedirectory/somecommand

这也相当于比较麻烦

0,10,20,30,40,50 * * * */usr/bin/somedirectory/somecommand

关于python - 如何按时执行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30835547/

相关文章:

javascript - 如何在 VBA 中调用 JavaScript 函数?

python - 如何在 mako 中正确转义输出(对于 XHTML)?

python - 如何将python Unicode字符串转换为字节

java - 需要指导来自动化多个 .bat 文件进程

deployment - Travis CI - 每个部署提供商的条件 'before_deploy' 脚本

windows - 动态创建 WIX 文件,无需手动编辑 wix 文件

VBA UI 自动化 - Internet Explorer "Save As"

java - 将两个椭圆拟合到 body 轮廓

python - 从 django 执行不能被 web 服务器中断的后台进程

检查两个字典是否具有相同的键集的 Pythonic 方法?