@reboot cronjob不执行

我有一个Python脚本,只是写一些文本,并将其保存到文件

#! /usr/bin/python3 def main(): filename = '/home/user/testHello.txt' openfile = open(filename,"w") print("Hello CRON", file = openfile) if __name__ == "__main__": main(); 

我想通过CRON在启动时执行这个脚本。 所以我通过使用编辑crontab列表

 >crontab -e 

我的整个crontab看起来像:

 SHELL = /bin/bash PATH = /sbin:/bin:/usr/sbin:/usr/bin MAILTO = root HOME = / # run-parts 1 * * * * /home/user/tester.py @reboot /home/user/tester.py 

这是该文件的位置,该文​​件具有执行权限。 我可以从命令行运行文件没有问题作为脚本。 然而,当我重新启动机器,没有文件生成。 我试图理解为什么,并玩弄了crontab条目。

 @reboot /usr/bin/python3 /home/user/tester.py 

这也没有工作。

编辑:

 ps aux | grep crond 

给我

 user 2259 0.0 0.0. 9436 948 pts/0 S+ 23:39 0:00 grep --color=auto crond 

我不确定如何检查crond是否正在运行,或者如果有问题的用户在CRON之前/之后安装。 我会尝试:

 sudo crontab -e 

但是这也没有奏效。

运行:

 pgrep cron 

返回957

Solutions Collecting From Web of "@reboot cronjob不执行"

马克·罗伯茨指出了我做错了一些事情。

就是这里的空间

 MAIL = root HOME = / 

摆脱这些空间..

接下来,让Cron配置每分钟修复一次,而不是我所拥有的:

 */1 * * * * /home/user/tester.py 

在我看来,Lubuntu不支持@Reboot Cron语法。

从我刚刚发现的, @reboot语法似乎取决于你正在编辑的crontab 。 我发现对于系统级别的/etc/cron.d/文件夹,那里的条目必须有一个用户,就像常规的基于时间的crons一样。

因此,在Ubuntu 14.04上,这对我来说在启动时以root身份运行指定的命令:

 @reboot root /home/vagrant/log.sh 

我有一个类似的问题,没有运行@reboot cron作业; 万一它帮助别人:

我的问题是,我的主目录是用eCryptfs加密的(这是你在安装Ubuntu时选择加密你的主目录时得到的) – 一般来说,这意味着你的主目录的内容在你登录之前是不可用的中,但cron在重新启动时运行@reboot作业,而不是在登录时。