Crontab 没有每 5 分钟执行我的 python 脚本

Crontab not executing my python script every 5 minutes

我知道很多人问同样的问题,但我看不到我的失败。

我的目标是每 5 分钟执行一次代码,这是我的 cron 行,

*/5 * * * * /usr/bin/python3 /home/myUserName/folder-name-path/main.py

我尽我所能,

谁能解释一下我错在哪里?

编辑:

根据@CherryDT 所说,我必须补充一点,我的项目结构类似于:

folder-name-path
   |-> lib (folder)  -> Some python scripts
   |-> data (folder) -> Some CSV data
   |-> temp (folder) -> A json file.

在我的脚本中,我将 python 文件导入为 from lib import foo

EDIT2:

好的,问题不在于我的 cron 脚本,问题在于我的主文件夹中的子文件夹。

我尝试安排另一个没有导入的脚本并且运行良好。然后我几乎可以肯定问题出在进口上。有人能告诉我我能做什么吗?我尝试从

开始
import os
os.chdir(os.path.dirname(__file__))

但是我有一个错误,FileNotFoundError: [Errno 2] No such file or directory: ''

我试过了

cwd = os.getcwd()
print(cwd)

我得到了主路径,/home/myUserName/folder-name-path

非常感谢!

最后问题出在我的代码中的路径上。 Crontab 需要绝对路径。

据我所知,它到达用户时没有问题,但如果你的主文件夹中有不同的子文件夹,它就会崩溃。

我解决这个问题的方法是获取主路径,cwd

import os
cwd = os.getcwd()

并定义在开头添加 cwd 的所有路径,例如在我的例子中:

csv_data = cwd + '/folder-name-path/data/myData.csv'
json_data = cwd + '/folder-name-path/temp/myTemp.json'

我还在我的 lib 文件夹中添加了 __init__.py,不确定是否有必要,但这有助于 python 了解此文件夹有脚本。

谢谢!!