如何使用cron作业运行python文件

时间:2012-08-02 09:45:25

标签: python shell cron

您好我创建了一个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

2 个答案:

答案 0 :(得分:50)

假设您使用的是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)

答案 1 :(得分:26)

您可以使用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)