不确定是什么错误,无论是代码,目录还是其他。请帮忙!
from crontab import CronTab
my_cron = CronTab(user='bgoldberg')
job = my_cron.new(command='python /Users/bgoldberg/PythonScripts/FunStuff/writeDate.py')
job.minute.every(1)
my_cron.write()
这是writeDate.py脚本:
import datetime
with open('dateInfo.txt','a') as outFile:
outFile.write('\n' + str(datetime.datetime.now()))
writeDate.py脚本仅将当前时间戳写入txt文件,并且在单独运行时可以正常工作。当我运行python scheduleCron.py时,它没有错误运行,但是似乎没有运行writeDate.py脚本,因为没有创建txt文件。当我输入crontab -l时,它正确显示了创建的作业:***** python /Users/bgoldberg/PythonScripts/FunStuff/writeDate.py
不知道我在做什么错...
答案 0 :(得分:2)
这是cron“ gotcha”。 Cron使用命令
python /Users/bgoldberg/PythonScripts/FunStuff/writeDate.py
,但是cron默认会写入/var/log/syslog
或该版本的某些变体。它正在尝试写入您无权访问的地方(但不会死),因此您需要指定输出文件的绝对路径。
更改writeDate.py
中的行以写入绝对路径:
with open('/Users/bgoldberg/dateinfo.txt', 'a') as outFile:
将解决您的问题。