2

#!/usr/bin/python最初の行にPythonスクリプトがあります。CLIから実行できますpython myScp.py.

しかし、cronスクリプトの一部として。Pythonスクリプトの実行に失敗します。cronはテストされ、Pythonスクリプトを実行し、/ tmp/crontest.txtに書き込むことができます。

ディレクトリに問題があるようです。私はその正しいものでテストしましたos.getcwd()....cronがスクリプトを実行すると、エラーがスローされます。CLIから実行:/usr/bin/python myScp.py同じエラーをスローします。

Traceback (most recent call last):
  File "/myScp.py", line 31, in <module>
    execfile(dn2 + 'anotherScpt.py')
IOError: [Errno 2] No such file or directory: './anotherScpt.py'
4

2 に答える 2

10

推奨される方法は、crontabエントリで作業ディレクトリも明示的に指定することです。

0 0  * * * cd /my/project; /opt/python-2.7/bin/python bin/myscript.py
于 2013-01-01T16:02:56.950 に答える
2

エラーが発生した場合、問題は、特定のディレクトリにあるプログラムに依存して別のファイルを実行していることです。

プログラムをそのディレクトリで実行すると、ファイルを見つけることができます。そのディレクトリの外でプログラムを実行すると(またはcron)、そのファイルを見つけることができません。スクリプトがファイルを見つけることができる場所にファイルを置くか、絶対パスを使用するか、プログラム内のスクリプトの場所を見つける必要があります。

于 2013-01-01T16:03:14.077 に答える