我有一个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
发布于 2013-08-11 01:03:23
马克·罗伯茨指出了我做错了几件事。
也就是这里的空间
MAIL = root
HOME = /摆脱那些空间..。
接下来,让Cron配置每分钟发送一封电子邮件。而不是我所拥有的:
*/1 * * * * /home/user/tester.py在我看来,Lubuntu不支持@Reboot Cron语法。
发布于 2014-12-09 16:35:33
从我刚才发现的情况来看,@reboot语法似乎取决于您正在编辑的crontab。我发现对于系统级的/etc/cron.d/文件夹,条目必须有一个用户,就像常规的基于时间的crons一样。
因此,对于我来说,在Ubuntu14.04上,在启动时将指定的命令作为root运行是有效的:
@reboot root /home/vagrant/log.sh发布于 2016-07-16 10:55:41
对于没有运行@reboot cron作业,我也遇到了类似的问题;如果它对其他人有帮助的话:
我的问题是,我的主目录是用eCryptfs加密的(如果您在安装Ubuntu时选择加密您的主目录,就会得到这种加密)--广义地说,这意味着在登录之前您的主目录的内容是不可用的,但是cron在重新启动时运行@reboot作业,而不是在您登录时运行。
https://stackoverflow.com/questions/18158427
复制相似问题