当由cron作业运行时,仅脚本将第一行记录到文件

2024-05-08 11:32:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个奇怪的问题:当cron运行时,我的Python脚本只记录(使用日志模块)日志文件的第一行。如果我自己运行脚本,它会很好地记录每一行。我真的搞不清楚到底是什么问题。你知道吗

我的crontab是这样的:

15 * * * * /usr/bin/python3 /home/myusername/Desktop/script.py

在我的脚本.py地址:

import logging
import otherstuff
logging.basicConfig(filename="/home/myusername/Desktop/script.log", level=logging.INFO)
logging.info("Running script...") # Only one getting logged when ran by Cron
*Other stuff that happens in script*
logging.info("Did some other stuff") # This is not getting logged when ran by Cron

我试过以下方法:

  • 在脚本中设置日志文件的绝对路径
  • 更改了脚本和日志文件的权限,以便任何人都可以读/写/执行。你知道吗

真正让我困惑的是为什么cron只记录第一行。如果没有记录所有的行,我会理解的,但是为什么第一行是唯一被记录的行呢?你知道吗


Tags: 文件pyimportinfo脚本homelogging记录

热门问题