在 Linux 上调度Python脚本
有时候我们需要每天做一个任务,我们可以每天自己做这些重复的任务,或者我们可以利用编程的艺术,通过调度任务来自动化这些重复的任务。今天在本文中,我们将学习如何在 Linux 上安排Python脚本来执行重复性任务。
我们将使用名为cron的实用程序来安排Python脚本。 Cron 由 crontab 驱动,它也被称为时间表,因为 cron 一词源自希腊词Chronos ,意思是时间和 tab 只是表。
Syntax: * * * * * command
在 Crontab 中有六个字段。前五个字段是为预定执行的日期和时间保留的,最后一个字段是为要执行的命令保留的。
这是我们要安排的Python脚本:
Python3
#!/usr/bin/env python3
# importing libraries
import os
import random
# setting up folder name
folder_name = "geeksforgeeks"
# entering into the loop
# to create 2 folder every time this script runs
for i in range(2):
# generating random number between 0 and 9
number = int(random.randrange(0, 10))
print("Creating folder {}".format(number))
# creating directories
os.mkdir(folder_name+" {}".format(number))
输出:
在 Linux 上调度Python脚本:
下面是我们在 Linux 中调度Python脚本需要遵循的步骤:
第 1 步:首先,我们必须创建一个我们将要安排的Python脚本。以上是我们将在本文中使用的Python脚本。
第二步:打开crontab,创建调度Python脚本的配置文件。
第三步:在终端中运行以下命令,打开crontab配置文件。
crontab -e
这应该会打开一个编辑器来编辑配置文件,输出应该是这样的:
第四步:滚动到文件末尾,写下时间和要执行的命令。
* * * * * /usr/bin/env python3 /home/amninder/Desktop/Geeks/cron/schedule.py >> /home/amninder/Desktop/Geeks/cron/output.txt
这里,“/usr/bin/env python3 /home/amninder/Desktop/Geeks/cron/schedule.py ”是我们要调度的脚本的路径,“/home/amninder/Desktop/Geeks/cron/ output.txt”是我们要保存输出的文件的路径。所有前 5 个字段上的星号 (*) 表示脚本将在每分钟、每小时后执行。
要检查日志以查看它是否正常工作,请运行以下命令:
sudo tail -f /var/log/syslog
输出:
要从 crontab 中删除作业,请运行此命令。
crontab -r : This will delete the current cron jobs.