crontab不执行python脚本

时间:2018-07-19 21:21:08

标签: linux python-3.x selenium cron raspbian

我面临的问题是crontab无法在Raspberry Pi3上安装的Raspbian GNU / Linux 9.4(拉伸)中运行python脚本。我在这个主题上做了很多研究,例如按照https://askubuntu.com/questions/23009/why-crontab-scripts-are-not-working/24527#24527中的疑难解答指南进行操作,但没有一个解决了我的问题。

我要运行的python脚本位于

/home/pi/Documents/Fork_BookManager.py

我确保任何人都可以执行,读取并将内容更改为上述文件。

我可以通过终端运行该文件

usr/bin/python3 /home/pi/Documents/Fork_BookManager.py

我知道文件正在运行,因为Fork_BookManager.py正在使用硒打开Web浏览器,并且我看到此Web浏览器正在打开。从终端运行Fork_BookManager.py文件时没有观察到错误。

在终端执行

crontab -e

我使用nano作为编辑器,首先验证了crontab确实由

工作
* * * * * env > /home/pi/Documents/env.output

一分钟后,Documents文件夹中有一个包含以下参数的环境输出文件。

LANGUAGE=da_DK.UTF-8
HOME=/home/pi
LOGNAME=pi
PATH=/usr/bin:/bin
LANG=da_DK.UTF-8
SHELL=/bin/sh
LC_ALL=da_DK.UTF-8
PWD=/home/pi

我注意到crontab的路径与从终端调用env时的路径不同,因为如果从终端调用env,我将具有以下路径   PATH = / usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / local / games:/ usr / games

所以我知道crontab -e在工作,因为否则我不会在Documents文件夹中创建env.output文件。我先从终端调用crontab -e,然后将环境的路径复制到crontab中,如下所示:

PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

* * * * * /usr/bin/python3 /home/pi/Documents/Fork_BookManager.py

保存脚本并等待。没事

要总结一下,我有:

  1. 确保Fork_BookManager.py是可执行的

  2. 验证crontab正常工作

  3. 从env到crontab脚本的更新路径

这是使crontab正常工作时遇到困难的三个最大原因 https://askubuntu.com/questions/23009/why-crontab-scripts-are-not-working/24527#24527

仍然无法正常工作。我错过了什么?是否有更好的方法来实现我想要的目标,即每分钟执行一次python脚本,而无需直接从python脚本本身直接执行,例如使用time.sleep(60)

的while循环

其他信息

我什至尝试通过

扩展crontab脚本中的路径
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/usr/bin:/home/pi/Documents 

尝试指定python3和Fork_BookManager.py位于哪个文件夹中。仍然没有运气。

0 个答案:

没有答案