问题:python脚本在手动执行数据库操作时运行正常,当通过crontab定时执行时,未正常插入。
原因:通过分析发现运行至数据库连接时停止,原因为cx_Oracle需要依赖oracle的ORACLE_HOME环境。而通过crontab执行时候,环境变量不起作用。
解决办法:
#!/bin/bash
source /home/jarvis/.bashrc
cd /home/jarvis/文档/jarEnv/Pyfiles
source ../bin/activate
python main_contact_dss.py
deactivate
注意:source /home/jarvis/.bashrc,jarvis是登陆用户对应的文件夹,请自行修改为你自己目录。如果你是以root用户执行,此处改为:source /root/.bashrc,注意此处没有home,至此问题解决。