
毎週金曜日の午後 5 時に実行したい Python スクリプトがあります。
どうすれば実現できますか?
cron を使ってこれを行うことができることは理解しています。ただし、Python スクリプトでは相対ファイル パスを使用しているため、他のファイルとともに特定のディレクトリで実行する必要があります。パイプ演算子を使用してこれを実現できる可能性があることを確認しましたが、例を見つけることができませんでした。
答え1
これを実現するにはさまざまな方法がありますが、ここでは 2 つの方法を挙げます。
(1) Cron ジョブで Bash の「ラッパー シェル スクリプト」を使用して、午後 5 時に実行します。
「ラッパー スクリプト」で、まず「cd X」を実行します。ここで、X は必要なディレクトリです。
次に、Python スクリプトを実行します。これはディレクトリ X で実行されます。
# My Bash Wrapper Script
cd X # use the necessary Directory here
python MyPythonScript.py
(2)Pythonスクリプトでモジュール「os」をインポートし、「os.chdir」を使用してディレクトリを変更し、Pythonスクリプトを続行します。
# My Python Script
import os
os.chdir(X) # use necessary Directory here
# continue with Python Script
# no other Changes necessary
これら 2 つの方法は非常に簡単に使用できます。
答え2
スクリプトを実行する前に、ディレクトリに cd するだけです。
0 17 * * Fri cd /path/to/dir && python myscript.py
ラッパーは必要ありません。