在 crontab 中我有:
@reboot /usr/bin/python3 /root/mydirectory/mypythonfile.py
使用:which python3
我得到: /usr/bin/python3
在python脚本的开头我有:#!/usr/bin/python3
该 python 文件可供所有人执行。
在 shell 中运行./mypythonfile.py
正常
我不知道该怎么做才能通过 crontab 执行此文件。我玩了 crontab 并执行了一些命令(不是 python 脚本),它运行正常。
我以 Root 身份登录,因此这应该不是问题。
编辑:我怎么知道它没有运行?
我创建了一个脚本,用于发送电子邮件、在数据库中插入虚拟数据,并检查了 Htop 中的 .py 文件。全部为零。
答案1
正如@WinEunuuchs2Unix 提到的,最好在执行 python 之前设置睡眠时间,因为 python 脚本可能包含在重启时不会立即激活的服务(例如:MySQL)。
针对我的情况的解决方案是:
@reboot sleep 300 && /usr/bin/python3 /root/mydirectory/mypythonfile.py