cx_Oracle库导入失败引起crontab中python程序运行失败,并且无错误提示
2014-03-26 13:12
253 查看
今天遇到一个问题:
一个python脚本命令行运行时很正常,放到crontab中就无法工作,日志也没有记录,找了半天,终于发现问题所在。
在脚本最上方,程序如下:
(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5)~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
解决办法:
一个python脚本命令行运行时很正常,放到crontab中就无法工作,日志也没有记录,找了半天,终于发现问题所在。
在脚本最上方,程序如下:
#!/usr/local/bin python # coding=utf8 import cx_Oracle import sys import time注意,这里
import cx_Oraclecx_Oracle需要依赖oracle的ORACLE_HOME环境。我发现ORACLE_HOME定义在/etc/profile下,在这里修改的内容是对所有用户起作用的,但是对crontab是不起作用的。以下是各个文件的一个作用域:
(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5)~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
解决办法:
30 7 * * * . /etc/profile; /usr/local/bin/python2.7 /data/storeDataToOracleDB.py &这里加上了
. /etc/profile;ok,问题解决。
相关文章推荐
- cx_Oracle库导入失败引起crontab中python程序运行失败,并且无错误提示
- cx_Oracle库导入失败引起crontab中python程序运行失败,并且无错误提示
- 解决python在eclipse运行正常在命令行里运行提示包导入错误
- crontab 定时运行python程序遇到的一个错误
- crontab中运行python程序出错,提示ImportError: No module named解决全过程
- crontab中运行python程序出错,提示ImportError: No module named解决全过程
- crontab中运行python程序出错,提示ImportError: No module named解决全过程
- oracle从10.2.0.1升级到10.2.0.5出现ORA-01092,并且OEM出现ora-01035错误,提示状态失败
- 我从16ASPX上下了一个程序在运行时出错是怎么回事?运行时出现用户SA登陆失败,但是我已经把数据库导入SQL
- Android JNI 编译正确 但是提示程序有错误无法运行 而且还看不到任何错误提示 的解决方法
- 不小心把JRE System Library中的某些Jar包删除了,运行Java程序提示找不到类,并且在项目的头上出现红色的感叹号
- 安装python后提示‘python’不是内部或外部命令,也不是可运行的程序或批处理文件
- python import 提示红线错误 导入同级类
- Win8.1/Win8 系统下安装Oracle 10g 提示“程序异常终止,发生未知错误”的解决方法
- Problem: 程序运行时,出现错误提示 Debug Assertion Failed! Program: d:\Program\Prg.exe File: f:\rtm\vctools\vc7libs\ship\atlmfc\include\afxwin1.inl Line: 24
- Ubuntu16.0.4LTS 64位上运行32位程序,提示No such file or directory?错误的解决办法
- Win7/Win8 系统下安装Oracle 10g 提示“程序异常终止,发生未知错误”的解决方法
- 如何拷贝Wins下运行程序弹出错误提示框中的错误信息
- Python程序提示SyntaxError: invalid syntax错误
- python常见运行错误提示