迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

通过 Crontab 执行 Python 脚本

作者:迹忆客 最近更新:2023/06/20 浏览次数:

通常情况下,我们发现自己处于需要自动化流程以提高效率和理智的情况。 它可以是任何事情,从定期向员工发送电子邮件到每三个月更新一次某些应用程序的许可证。

Crontab 派生自 Cron 表。 Cron 是 Unix、Solaris 和 Linux 操作系统提供的自动化实用程序,可帮助实现自动化。

在本文中,我们将探讨 Crontab 以及如何使用它来运行 Python 脚本。


Linux/Unix/Solaris 中的 Crontab

Cron 是一个守护进程,当系统从 /etc/init.d 脚本启动时运行。 如果需要,我们还可以使用 init 脚本或通过 crond 启动/重新启动或停止守护进程,crond 本质上是 Linux 及其其他版本中的命令服务。

Crontab 或 Cron 表是一个包含列表形式的无数命令的文件。 这些命令或 cron 条目设置为在特定时间运行。

此文件中的命令通常称为 cronjobsCrontabs,通常用于管理、维护或管理系统。 它们还可以用于其他定期需要的任务,例如备份。

每个用户都可以拥有自己的 Crontab。

每个 Crontab 文件都有五个字段,分别指定分钟、小时、月中的第几天(日期)、月、日,最后,所有这些后面都是应该在先前指定的时间执行的命令。

有效维护 Crontab 的一些技巧是:

  1. 插入一个空格来分隔每个字段。
  2. 插入逗号以分隔多个值。
  3. 插入连字符 (-) 以指定值范围。
  4. 插入星号 (*) 以包括该字段的所有可能值。
  5. 在行首使用井号 (#) 来添加注释或在文件中插入空行。

Linux/Unix/Solaris 中的 Cron 作业或 Cron 计划

Cron Job 或 Cron Schedule 是一组特定的指令或命令,用于指定执行命令的时间和日期。 一个 cron 表中可以有多个执行命令。


通过 Crontab 执行 Python 脚本

通过执行以下简单步骤,可以在 Crontab 的帮助下执行 Python 脚本:

  • 查找或定义您希望执行的 Python 脚本。
  • 在您要使用的终端中执行命令 crontab -e
  • 现在,您需要按 i 进入编辑模式。
  • 输入计划命令,您可以在其中指定要执行的 Python 脚本的路径。
  • 您可以按退出按钮退出编辑模式。
  • 使用命令 :wq 创建并编写一个 Crontab。

Crontab 的例子

以下是 Crontab 在各种情况下的一些示例:

  1. 每天在特定时间从计算机中的特定位置或路径删除一些临时文件:
    30 18 * * * rm /home/someuser/tmp/*
    
  2. 每 7 天执行的一些命令:
    0 0 */7 * * shell_command_here
    
  3. 每分钟在系统中执行一个脚本: ```bash
          • cd/Users/name/Automation && /usr/bin/python testing_crontabs.py ``` 现在让我们创建一个我们自己的脚本并通过 Crontab 执行它。 以下是我们将在本文中使用的 Python 脚本:

示例代码:

#! /usr/bin/python3

import sys
from datetime import datetime

def main(args):
    result = 1
    for arg in args[1:]:
        result *= int(arg)

    print(f"Result: {result} on: {datetime.now()}.")
if __name__ == '__main__':
    main(sys.argv)

输出:

crontab python 脚本

现在,我们在我们选择的终端中执行命令 sudo chmod +x main.py 以使文件可执行。

现在,在终端中执行 crontab -e,当要求从提供的选项中选择一个编辑器时,我们为本文选择 nano 并添加以下 cron 命令:

*/2 * * * * /home/$(USER)/myscript.py 1 2 3 4 5 >> /home/$(USER)/outputfile.txt

我们需要用我们特定机器的用户名替换 USER。 保存并退出编辑器,我们的 Crontab 现在已经准备就绪并可以工作了。

我们怎么知道? 根据我们的 Crontab,脚本应该每两分钟运行一次。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便