Python 脚本未在 crontab 中运行

Python 脚本未在 crontab 中运行

以普通用户身份登录,尝试安排 cron 作业在 RHEL8 上每分钟运行一次。 Python 脚本在终端作为 ./python.py 执行时运行良好,但在 crontab 中作为作业运行时出现错误。下面是绝对路径,通过“which python3”和“realpath -e python.py”获得。授予 python.py chmod 777 权限。

crontab -e

* * * * * /usr/bin/python3   /home/user/test_1/test/python.py >>  /home/user/test_1/test/cron.log 2>&1

错误 :

Traceback (most recent call last):

File "/home/user/test_1/test/python.py", line 127, in <module>
 log_location = config.log_file_location()
File "/home/user/test_1/test/config.py", line 62, in log_file_location
 baseLoc = self.base_data_location()
File "/home/user/test_1/test/config.py", line 56, in base_data_location
 baseDirPath = self.cb_config.get('base_data_dir', '/tmp')
AttributeError: 'NoneType' object has no attribute 'get'
Exception reading config: No section: 'test_connection'
Exception reading config: No section: 'product_info'
Exception reading config: No section: 'event_ids

答案1

该脚本可能依赖于在交互式 shell 中设置的 shell 环境变量,但不在环境中设置cron。我敢打赌,base_data_location() 会调用os.environ.get(<some variable>),并且在您的上下文中没有定义它cron

相关内容