Ubuntu 启动时无法使用 Cron 启动作业

Ubuntu 启动时无法使用 Cron 启动作业

我正在尝试使用 Ubuntu 16.04 上的 Cron 在启动时运行一个简单的 Python 脚本。我所做的是使用以下命令打开 cron:sudo crontab -e

并添加最后一行,如屏幕截图所示:

在此处输入图片描述

然后我这样做:

sudo reboot

但是当 Ubuntu 启动时,Python 文件似乎没有运行。它应该创建一个文本文件。我已经使用终端测试了 Python 脚本,它成功生成了该文本文件。

有人知道我在这里遗漏了什么吗?

编辑:根据 AFH 的评论,我将 crontab 中的行更新为:

@reboot sudo /usr/bin/python /home/adi/pythons/python1.py

但是,这在启动时并没有改变任何东西。

答案1

通过调用sudo crontab -e,您可以编辑 root 的 cron 列表。因此,没有必要在 cron 条目中使用 sudo。当然,这是有效的,但如果您这样做,您必须在 sudoers 文件中有一个条目(visudo是编辑它的命令)才能运行该命令,并且由于您不能为由 cron 启动的进程提供任何密码,因此您还必须提供 NOPASSWD 标记。

答案2

您正在尝试以 root 身份运行该脚本,因此您可以将其添加到 /etc/rc.local,该脚本在启动时由 root 运行。

$sudo -i
#echo "/usr/bin/python /home/adi/pythons/python1.py" >> /etc/rc.local
#exit

相关内容