cx_Oracleのcrontabプログラムが失敗した原因とPythonのimport失敗でライブラリ、およびエラーなし

今日は問題が発生しました:

       Pythonスクリプトは動作しませんのcrontabに、通常のコマンドラインを実行している、またログレコードは、長い時間を探し、最終的に問題を発見しました。

次のように最後に上記のスクリプトでは、手順は次のとおりです。

#!/usr/local/bin python  
# coding=utf8  
import cx_Oracle  
import sys  
import time  

なお、ここで

import cx_Oracle  

cx_Oracleの必要性は、Oracle ORACLE_HOME環境に依存します。私は、ORACLE_HOMEがここに内容を変更し、すべてのユーザーのための仕事である、/ etc / profileをで定義されていますが、crontabのために動作しませんされました。以下は、各ファイルの範囲です。

 

(1)の/ etc /プロファイル:このファイルは、各ユーザ環境情報システム用に設定されている場合にユーザーが初めてログインすると、ファイルが実行され、コンフィギュレーションファイルを/etc/profile.dディレクトリから収集シェル設定。 。
(2)の/ etc / bashrcに:各ユーザーbashシェルbashシェルを開いたとき、ファイルが読み込まれるファイル操作を実行します。
(3)〜/ .bash_profileを:各ユーザーは、ファイルは、デフォルトでは一度だけ行われ、で、彼はいくつかの環境変数を設定するときにユーザーがログインすると、自分の使用をシェルにファイル入力情報の特定を使用することができますが、ユーザーを実行します! bashrcにファイル。
(4)〜/ .bashrcに:このファイルには含まれていあなたの情報は、bashシェルはbashに特化し、ログオンし、そしてときに新しいシェルを開くたびにファイルが読み込まれたとき。
(5)〜/ .bash_logout:システム出口(出口bashシェル)は、ファイルがまた実行されるたびには、/ etc /(グローバル)設定されたプロファイル変数は、任意のユーザに適用されてもよいし、〜/ .bashrcに。など(ローカル)変数は、変数のみの連続は/ etc / profileに設定することができ、彼らは「親子」関係です。

非ログインのbashにはbash〜/ .bashrcの対話モードに(6)〜/ .bash_profileの対話、ログイン動作モードは、多くの場合、両方の元の意志は、典型的には、後者を呼び出すように、実質的に同一の配置を実行します。

ソリューション:

30 7 * * *  . /etc/profile; /usr/local/bin/python2.7 /data/storeDataToOracleDB.py  &  

ここに追加

. /etc/profile;  

OK、問題は解決しました。

記事から:https://www.cnblogs.com/chenjianhong/p/4144518.html

公開された35元の記事 ウォン称賛61 ビュー160 000 +

おすすめ

転載: blog.csdn.net/woailyoo0000/article/details/88837986