PYTHON을 모르지만 Linux (CentOS6) 서버에서 cronjob으로 스크립트를 실행해야하는데 문제가 있습니다.Python CRON이 MySQL 드라이버를 찾지 못했습니다.
브라우저 (http://xx.xx/xx.py) 또는 bash에서 스크립트를 실행하면 스크립트가 제대로 작동합니다. 두 경우 모두 모듈을로드하고 MySql DB를 업데이트합니다. 이 CRON에 의해 실행되는 경우
문제는 다음과 같습니다
/usr/local/bin/python2.7의 /home/itsme/cron/demo.py >>/홈/itsme/크론/오류 로그에
cron_log.log 로그는/내가 가진 : MySQL의 드라이버를 의미
이Failed to connect to MySql DB using connect string- DRIVER={MySQL};SERVER=localhost;DATABASE=dbname;UID=admin;PWD=*******# .Reconnect Attempt# 1
<class 'pyodbc.Error'> ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
찾을 수 없습니다. 그래서 시도 : # I이 스크립트에서 의 sys.path를 인쇄 할 경우 내가 가지고있는 /etc/odbcinst.ini
# Example driver definitions
# Driver from the postgresql-odbc package
# Setup from the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/psqlodbc.so
Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/lib64/psqlodbc.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
VI -j odbcinst :
['/home/itsme/cron/', '/usr/local/lib/python2.7/site-packages/setuptools-7.0-py2.7.egg',
'/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg',
'/usr/local/lib/python27.zip', '/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages', '/home/itsme/cron/src', '/usr/lib']
CRON이 MySQL 드라이버를 찾을 수없는 이유는 무엇입니까?
도움 주셔서 감사합니다.
감사합니다. 몇 가지 차이점이 있습니다. 아마도 가장 중요한 것은 ** USER **, ** PWD **, ** OLDPWD **, ** ** SH ** ** HOME ** 스크립트에서가 아니라 MySQL Ddiver에서만 오류가 발생합니다. 어떻게 업데이트 할 수 있습니까? – Uncoke