CRON パスの問題

CRON パスの問題

コマンドラインから問題なく実行される Python スクリプトがあるのですが、CRON から実行しようとすると奇妙な動作をします。

スクリプトは apk スクリプト ファイルを生成し、実行します。

apk スクリプト ファイルは、/usr/src/scripts/plots/core_temp_data/weeklyplotsコマンド ラインから実行した場合は に保存されますが、/home/piCRON から実行した場合は に保存されます。

CRON エラーをログファイルに書き込むことも試みましたが、それもディレクトリに配置されます/home/pi

スクリプトは動作していますが、結果のファイルが間違った場所に保存されます。正しいパスを指定するにはどうすればよいでしょうか?

パスを指定する方法を検索してみましたが、ひどく混乱してしまいました。

apkスクリプトを生成するスクリプトの部分はfout = open("live_gnu_command.gpl", "w")

以下の D_byes の助けにより、これは機能しました:fout = open("/usr/src/scripts/plots/core_temp_data/weeklyplotslive_gnu_command.gpl", "w")

答え1

デフォルトでは、cronジョブを所有するユーザーのホーム ディレクトリですべてのジョブを実行します。出力ファイルを書き込むときに Python スクリプトが絶対パスを使用していることを確認してください。そうしないと、現在のユーザーのホーム ディレクトリに出力ファイルが配置されます。

関連情報