こんにちは私はpythonファイルをfile_example.py
として作成しました
ファイルはsensex値を出力します
Linuxシステム上のファイルのパスが/Desktop/downloads/file_example.py
であるとします
通常、python file_example.py
のようなファイルを実行します
しかし、上記のパスにある2分ごとにpythonファイルを実行するようにcronジョブを設定したい
誰でもこれを行う方法を教えてください
編集済みコード:
以下に示すように、コードを編集し、test.shという名前のbashスクリプトを作成しました
#!/bin/bash
cd /Desktop/downloads/file_example.py
python file_example.py 2>log.txt
上記のファイルを実行すると、次のエラーが表示されます。
sh-4.2$ python test.sh
File "test.sh", line 3
python test.py 2>log.txt
^
SyntaxError: invalid syntax
UNIX OSを使用していると仮定すると、次のようになります。
コマンドを使用してcrontabファイルを編集します
crontab -e
以下のような行を追加します
*/2 * * * * /Desktop/downloads/file_example.py
これは、必要なスクリプトへのパスを使用するだけで他のスクリプトを実行するために使用できます。
*/2 * * * * /path/to/script/to/run.sh
タイミングの説明は以下のとおりです(数字の前にスターとスラッシュを追加して、nタイムステップごと、この場合は2分ごとに実行します)
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Python-crontabモジュールを使用できます。
https://pypi.python.org/pypi/python-crontab
新しいcronジョブを作成するには、次のように簡単です。
from crontab import CronTab
#init cron
cron = CronTab()
#add new cron job
job = cron.new(command='/usr/bin/echo')
#job settings
job.hour.every(4)