【发布时间】:2016-03-15 12:31:22
【问题描述】:
我有一个可执行的 a.py 文件在 CLI 中运行时运行良好。但是在我写了一个 a.sh 脚本 /root/a.py >> /root/a.log 并启动了一个 crontab * * * * * /bin/sh /root/a.sh 之后,它工作正常,除了没有在日志文件中输出。
a.py的日志部分配置如下:
DATE_FORMAT = '%a, %d %b %Y %H:%M:%S'
LOG_FILE = 'log'
RESULT_LOG_FILE = 'result.log'
LOG_FORMAT = '[%(asctime)s] [%(filename)s:%(lineno)d] [%(levelname)s] [%(threadName)s] [%(process)d] %(message)s'
logging.basicConfig(format=LOG_FORMAT, datefmt=DATE_FORMAT, level=logging.INFO, filename=LOG_FILE)
logging.error('ERROR')
我尝试在 a.sh 中的 /root/a.py 前面添加 /usr/local/bin/python,但没有成功。我不知道为什么会这样。
【问题讨论】:
-
你检查了什么日志文件? result.log 还是 a.log?根据您的代码,日志文件将为 result.log 并且 a.log 应为空。
-
两者都没有日志输出。在上面列出的代码中它应该是'log'文件,我在
logging.basicConfig(filename=LOG_FILE)中配置 -
我的意思是'log'和'result.log'都没有输出,a.log中有一些
print语句输出
标签: python linux shell crontab centos6