2017-05-17 26 views
0

データベースを照会するPythonスクリプトがあります。私は */30 9-17 * * 1-5 python3 /path/to/my/python/script\ directory\ space/myscript.pyiniファイルの参照がcronで失敗する

私は私のcrontabファイルにそれのためのcronタスクを追加しましたpython3 myscript.py

で端末からそれを実行するスクリプトは、データベースにあるデータベースのログイン情報を解析し、同じディレクトリ内の関数をインポート.iniは同じディレクトリにあります。 database.iniは次のとおりです。

[postgresql] 
host=my-db-host-1-link.11.thedatabase.com 
database=dbname 
user=username 
password=password 
port=10898 

しかし、現在、私のメールフォルダ内のファイルへの出力をのcron:セクションはdatabase.iniファイル中に明らかに存在している

Section postgresql not found in the database.ini file 

ので、私はここで何をしないのです?

答えて

1

"python3 myscript.py"が存在するディレクトリで実行する代わりに、別のディレクトリ(ホームディレクトリなど)から実行してみてください。ほとんどの場合、同じ問題が発生します。

cronの現在の作業ディレクトリは、システムによって異なります。

変更...

輸入OS

cd /path/to/my/python/script\ directory\ space/ && python3 myscript.py 
0

はこれを試してみてください:だから、最も安全な方法は、明示的にスクリプトがあるディレクトリに切り替えてコマンドを実行することです - >ファイル名= database.ini

--------> filename = os.path.dirname(__ file __)+ '/ database.ini'

+0

フォーマットを修正し、問題を解決する理由を説明してください –

関連する問題