如何每 2 小时将 bash 文件转换为 运行 python 脚本?

How to make a bash file to run a python script every 2 hours?

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

这是我的 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 Documents/scraping && /bin/bash/ run.sh 行?

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

chmod +x run.sh

输入crontab -e

然后键入以下命令:

0 */2 * * * cd /location/of/folder && /bin/bash run.sh
# Dont forget to leave a blank line at the end of the file

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

您可以将此行添加到您的 crontab:

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

除其他方法外,您还可以通过以下方式执行此操作:

crontab -e

在 cronjob 中尝试以下命令

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

我认为这可能有帮助