Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使bash文件每2小时运行一次python脚本?_Python_Linux_Cron_Cron Task - Fatal编程技术网

如何使bash文件每2小时运行一次python脚本?

如何使bash文件每2小时运行一次python脚本?,python,linux,cron,cron-task,Python,Linux,Cron,Cron Task,我在虚拟环境中有一个python脚本,我想使用cronjob每2小时运行一次 这是我的python脚本: from selenium import webdriver from selenium.webdriver.common.keys import Keys import time PATH = "/usr/bin/chromedriver" driver = webdriver.Chrome(PATH) driver.get("http://bi

我在虚拟环境中有一个python脚本,我想使用cronjob每2小时运行一次

这是我的python脚本:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time



PATH = "/usr/bin/chromedriver"

driver = webdriver.Chrome(PATH)



driver.get("http://bitcoin.works")
driver.maximize_window()
time.sleep(2)
driver.find_element_by_link_text('LOGIN').click()
time.sleep(3)
driver.find_element_by_id("login_form_btc_address").send_keys("MyEmail")
driver.find_element_by_id("login_form_password").send_keys("securePassword")
driver.find_element_by_id("login_button").click()
time.sleep(4)
driver.find_element_by_class_name("pushpad_deny_button").click()
time.sleep(7)
driver.find_element_by_id("free_play_form_button").click()
time.sleep(3)

driver.quit()
我还在我的文件夹中创建了一个名为run.sh的文件

它有以下内容

#!/bin/sh

python run.py
我比你做的还要多

chmod a+x run.sh
之后,我在crontab-e下编辑了我的文件

对此

0 */2 * * *  cd Documents/scraping && /bin/bash/ run.sh

为什么我需要cd文档/刮片和&/bin/bash/run.sh行?

确保您的bash脚本具有可执行权限:

chmod +x run.sh
键入
crontab-e

然后键入以下命令:

0*/2***cd/location/of/folder&&/bin/bash run.sh
#别忘了在文件末尾留一个空行

将目录更改为文件所在的位置很重要,因为
run.sh
中的命令不是绝对路径

您可以将此行添加到crontab:

0 */2 * * *  python <path>/run.py

在cronjob中尝试以下命令

0 */2 * * *   /bin/bash/ ~/Documents/scrapping/run.sh

我想这可能会有帮助

我的python文件没有保存在/bin/bash中-我的python文件在Documents/scraping/run.py中我想我需要运行.sh文件?@charliebrown:我后来意识到你有
run.py
run.sh
。试一下我上面提到的步骤:)在crontab-e中,我把这一行放在0*/2***cd Documents/scrasting&&/bin/bash/run.sh中,这足以让它运行吗?我的sh文件的内容是否正确?您可以通过从终端执行它来验证您的
run.sh
是否正确执行。在终端上,将目录更改为
run.sh
的位置,然后键入
/run.sh
,如果这样做有效,则cronjob应该正确执行。为什么我需要包括?我不能只执行0*/2***python run.pycrontab是一个系统级实用程序。它需要知道文件的位置,但python Documents/scraping/run.py不起作用
0 */2 * * *   /bin/bash/ ~/Documents/scrapping/run.sh