Python脚本无法从Cronjob写入文件。但当我手动运行它时,它可以
我试图运行一些运行python3脚本,从ubuntu16和18机器上获取一些数据并将其写入文件 由于某些原因,当我手动运行它时,它可以工作,但从crontab它不工作 我在这里尝试了这些解决方案:Python脚本无法从Cronjob写入文件。但当我手动运行它时,它可以,python,ubuntu,cron,Python,Ubuntu,Cron,我试图运行一些运行python3脚本,从ubuntu16和18机器上获取一些数据并将其写入文件 由于某些原因,当我手动运行它时,它可以工作,但从crontab它不工作 我在这里尝试了这些解决方案: cd到crontab上的工作目录 尝试以root用户身份运行cron,并授予py文件权限 我试图运行执行这个py脚本的bash脚本,但仍然无法运行 我尝试将输出移动到日志文件,它只显示脚本完成的最后一部分。(正如我前面提到的) 5.我试图从服务中grep cron,但我得到了MTA错误,并修复了它,但
else:
txtFile = open("/home/user/knifeStatus.txt","w+")
os.chdir("/etc/chef")
os.system(sslfetch) **#until this part it do it correctly**
knifeLnxResult = str(os.popen(knifeLnx).read())
knifeResultTime = knifeLnxResult[0:10]
此部分结束后,它会进行一些计算,然后调用下一个函数将其写入文件。
fileCreator(str(chefDaysPass),str(chefHourPass))
#Function to creates and edit the text file.
def fileCreator(chefDaysPass , chefHourPass):
textInside = ("Last Chef run completed at: {} | {}")
textInside = textInside.format(str(chefDaysPass),str(chefHourPass))
txtFile.write(textInside)
txtFile.close()
print("Knife File Created succesfully")
我的crontab:
*/1 * * * * cd /var/chef/ && /usr/bin/python3 /var/chef/Knife_Status.py > /var/chef/cronOut.log
有什么建议吗确实需要一些帮助将
2>&1
添加到crontab的该行末尾,以确保stderr与stdout一起进入日志文件,然后在日志文件运行后检查日志文件。将2>&1
添加到crontab的该行末尾,以确保stderr与stdout一起进入日志文件,然后在日志文件运行后检查它。