首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@reboot cronjob未执行

@reboot cronjob未执行
EN

Stack Overflow用户
提问于 2013-08-10 03:40:20
回答 4查看 14.8K关注 0票数 2

我有一个Python脚本,它只需编写一些文本并将其保存到文件中。

代码语言:javascript
复制
#! /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列表时使用

代码语言:javascript
复制
>crontab -e

我的整个crontab看起来是:

代码语言:javascript
复制
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条目。

代码语言:javascript
复制
@reboot /usr/bin/python3 /home/user/tester.py

这也没用。

编辑:

代码语言:javascript
复制
ps aux | grep crond 

给我

代码语言:javascript
复制
user     2259 0.0 0.0.  9436  948 pts/0 S+ 23:39   0:00 grep --color=auto crond

我不确定如何检查crond是否正在运行,或者所涉用户是否在CRON之前/之后挂载。我会试着:

代码语言:javascript
复制
sudo crontab -e 

但这也没用。

跑步:

代码语言:javascript
复制
pgrep cron

返回957

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-11 01:03:23

马克·罗伯茨指出了我做错了几件事。

也就是这里的空间

代码语言:javascript
复制
MAIL = root
HOME = /

摆脱那些空间..。

接下来,让Cron配置每分钟发送一封电子邮件。而不是我所拥有的:

代码语言:javascript
复制
*/1 * * * * /home/user/tester.py

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

票数 3
EN

Stack Overflow用户

发布于 2014-12-09 16:35:33

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

因此,对于我来说,在Ubuntu14.04上,在启动时将指定的命令作为root运行是有效的:

代码语言:javascript
复制
@reboot root /home/vagrant/log.sh
票数 4
EN

Stack Overflow用户

发布于 2016-07-16 10:55:41

对于没有运行@reboot cron作业,我也遇到了类似的问题;如果它对其他人有帮助的话:

我的问题是,我的主目录是用eCryptfs加密的(如果您在安装Ubuntu时选择加密您的主目录,就会得到这种加密)--广义地说,这意味着在登录之前您的主目录的内容是不可用的,但是cron在重新启动时运行@reboot作业,而不是在您登录时运行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18158427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档