我有一个bash脚本,每次系统启动时都会运行python脚本。
该python脚本的一部分应该记录到日志文件中(主要用于调试目的)。 无论我手动运行还是通过 bash 脚本运行它,脚本都能正常运行。
问题是,当我通过 bash 脚本运行它时,Python 脚本不会创建日志文件,也不会记录我在脚本中的任何调试 LOGGING 命令。
我假设这是目录中的权限问题。
我正在从/etc/rc.local 调用我的脚本
sudo /home/user/python_scripts/go.sh &
这是我的 bash 脚本 (go.sh) 中的 python 行。
#!/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')
尝试使用日志文件的整个路径。它将在脚本运行时登录到工作目录。
如果你从/home/user/python_scripts/运行,它会把文件放在那里。
如果你从/home/运行,文件将在你的主目录中。