Python脚本从Bash脚本运行而不是日志记录

时间:2014-02-13 18:26:20

标签: python linux bash shell logging

我有一个bash脚本,每次启动系统时都会运行python脚本。

该python脚本的一部分应该是记录到日志文件(主要用于调试目的)。无论我是手动运行还是通过bash脚本运行,脚本都运行良好。

问题在于,当我通过bash脚本运行时,Python脚本不会创建日志文件,也不会记录脚本中的任何调试LOGGING命令。

我假设这是目录中的权限问题。

我正在从/etc/rc.local

调用我的脚本
sudo /home/user/python_scripts/go.sh &

这是我的bash脚本中的python行(go.sh)..

#!/bin/sh
python /home/user/python_scripts/go.py

在我的python代码中,我使用以下内容进行记录(当我手动运行时,将日志文件放在python_scripts目录中:

import logging

daily_log = 'log-' + str(time.strftime("%m-%d-%y")) + '.log'

logging.basicConfig(format='%(asctime)s (%(levelname)s) - %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p', filename=daily_log,level=logging.DEBUG)

logging.debug(' Debug Message - Error 1241')

1 个答案:

答案 0 :(得分:1)

尝试使用日志文件的完整路径。它将在脚本运行时登录到工作目录。

如果从/ home / user / python_scripts /运行,它会将文件放在那里。

如果从/ home /运行,该文件将位于您的主目录中。