2012-08-02 130 views
37

您好我已創建例如Python文件作爲file_example.py如何使用cron作業

該文件將輸出Sensex指數值

假設Linux系統上的文件的路徑爲/Desktop/downloads/file_example.py

運行Python文件

,我通常會運行像python file_example.py

的文件,但我想設置一個cron作業運行Python文件每2分鐘,其位於上述路徑

任何人都可以請讓我知道如何做到這一點

編輯代碼

我編輯的代碼,並創建一個名爲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 
+1

當你把你的電話到crontab是什麼呢?什麼不起作用? – John3136 2012-08-02 09:48:26

+0

@ John3136:crontab:安裝新的crontab 「/tmp/crontab.TdDFOh":1:壞的分鐘 crontab文件中的錯誤,無法安裝。 你想重試相同的編輯嗎? – 2012-08-02 10:46:08

+0

當我嘗試在cron選項卡中執行此操作時,它顯示上述錯誤/ * * * * /Desktop/downloads/file_example.py – 2012-08-02 10:47:14

回答

47

假設您使用的是unix操作系統,您可以執行以下操作。

編輯使用命令

crontab -e 

添加類似於可用於運行其他腳本簡單地使用路徑所需的腳本即低於

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

這的一行crontab文件

*/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) 
+0

上面的代碼很有用,實際上有些時候我發現創建bash腳本(使用.sh擴展名),並運行這些,我可以知道這個概念,並且兩者不同或相同 – 2012-08-02 10:02:04

+0

只要shebang行(例如#!/ usr/bin/sh)包含在文件 – 2012-08-02 10:04:20

+0

中,就可以以同樣的方式運行它們我已經看到文件中的一些路徑如此混亂,在bash命令中需要給出要運行的文件的路徑? – 2012-08-02 10:07:14

20

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