51

嗨,我创建了一个 python 文件,例如file_example.py

该文件将输出 sensex 值

假设文件在linux系统上的路径是/Desktop/downloads/file_example.py

我通常会像这样运行文件python file_example.py

但我想设置一个 cron 作业以每 2 分钟运行一次位于上述路径的 python 文件

谁能让我知道如何做到这一点

编辑代码

我已经编辑了代码并创建了一个名为 test.sh 的 bash 脚本,如下所示

#!/bin/bash 
cd /Desktop/downloads/file_example.py
python file_example.py 2>log.txt 

当我运行上述文件时,显示以下错误:

sh-4.2$ python test.sh
  File "test.sh", line 3
    python test.py 2>log.txt 
              ^
SyntaxError: invalid syntax
4

2 回答 2

59

假设您使用的是 unix 操作系统,您将执行以下操作。

使用命令编辑 crontab 文件

crontab -e

添加类似于下面的行

*/2 * * * * /Desktop/downloads/file_example.py

这可用于运行其他脚本只需使用所需脚本的路径,即

*/2 * * * * /path/to/script/to/run.sh

下面是时间的解释(在数字前添加一个星号和斜线以每 n 个时间步运行一次,在这种情况下每 2 分钟一次)

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
于 2012-08-02T09:57:49.603 回答
39

您可以使用 python-crontab 模块。

https://pypi.python.org/pypi/python-crontab

创建一个新的 cron 作业很简单,如下所示:

from crontab import CronTab
#init cron
cron   = CronTab()

#add new cron job
job  = cron.new(command='/usr/bin/echo')

#job settings
job.hour.every(4)
于 2014-11-12T21:59:46.687 回答