crontab에서 Python 스크립트가 실행되지 않습니다.

crontab에서 Python 스크립트가 실행되지 않습니다.

일반 사용자로 로그인하고 RHEL8에서 매분 실행되도록 cron 작업을 예약해 보세요. Python 스크립트는 터미널에서 ./python.py로 실행하면 제대로 실행되지만 crontab에서 작업으로 실행하면 오류가 발생합니다. 아래는 "which python3"과 "realpath -e python.py"를 통해 얻은 절대 경로입니다. python.py chmod 777 권한을 부여합니다.

크론탭 -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

스크립트는 대화형 셸에 설정된 셸 환경 변수에 따라 달라질 수 있지만 환경에서는 그렇지 않습니다 cron. base_data_location()이 호출되었지만 os.environ.get(<some variable>)귀하의 컨텍스트에 정의되지 않았을 것입니다 cron.

관련 정보