crontab -eは私のPythonスクリプトを実行していますが、スクリプトの結果を私のホームディレクトリに保存します。

crontab -eは私のPythonスクリプトを実行していますが、スクリプトの結果を私のホームディレクトリに保存します。

一部のXMLファイルからデータを取得してWebサイトに表示するPythonスクリプトがあります。スクリプトが実行されるたびにindex.htmlファイルを上書きし、HTMLテンプレートの一部のテキストを一部の変数に格納されているデータで置き換えます。スクリプトはうまくいきます。

時間ごとに実行するようにcrontabにコマンドを入力すると機能します。ところで、新しく更新されたindex.htmlファイルをホームディレクトリに保存しますが、私は/var/www/html/に保存したいと思います。 Pythonスクリプトは同じ場所で実行されます。

crontabでスクリプトを実行し、スクリプトによって生成されたindex.htmlファイルを正しい場所に保存する方法はありますか? (/var/www/html)

これは私がcrontabに入れたコマンドです。

0 * * * * python /var/www/html/boinc.py

ありがとう

答え1

常に注意すべき特徴cron。多くの人は、それがユーザーに属しているため、ユーザーから継承を受けているとcrontab思います。cron環境インタラクティブシェルから。しかし、それはうまくいく方法ではありません。

敵がいたら気になるジョブの実行に使用される環境に関して、以下のcron簡単crontabなジョブを作成すると、cronその環境が何であるかがわかります。

* * * * * /usr/bin/printenv > /home/me/mycronenv.txt 2>&1

回答を得たら、crontab課題を再編集して課題を中止できます。 :)

答え2

スクリプトの場所は実行には関係ありません。ジョブが実行されると、cron現在のディレクトリがユーザーのホームディレクトリに設定されます。

作業ディレクトリを直接設定するか、スクリプトを変更して正しい場所に書き込む必要があります。

関連情報