次のようにFreeBSDバリアントを使用しています。
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power: uname -a
FreeBSD ROUTER.local 10.1-RELEASE-p15 FreeBSD 10.1-RELEASE-p15 #0 c5ab052(releng/10.1)-dirty: Sat Jul 25 20:20:58 CDT 2015 root@pfs22-amd64-builder:/usr/obj.amd64/usr/pfSensesrc/src/sys/pfSense_SMP.10 amd64
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power:
次のコマンドを使用して、CLIで正常に実行できるPythonスクリプトを作成しました。
/usr/local/bin/python2.7 /home/Script_to_monitor_power/power_alarm_t2.py
Pythonスクリプトには、次のshebang行が含まれています。
#!/usr/bin/env python2.7
python2.7の場所は次のとおりです。
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power: where python2.7
/usr/local/bin/python2.7
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power:
私の目標は、上記のスクリプトをcronjobとして実行することです。そのため、次のコマンドを使用してスクリプトを実行可能にしました。
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power: chmod +x power_alarm_t2.py
crontabを次のように編集しました。
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power: crontab -l
* * * * * /usr/local/bin/python2.7 /home/Script_to_monitor_power/power_alarm_t2.py
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power:
私はまたこれをする:
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power: cron reload
cron: cron already running, pid: 43420
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power:
今私がこれをしたら:
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power: ps -ef | grep cron
[2.2.4-RELEASE][[email protected]]/home/Script_to_monitor_power:
Q:私のcronjobは1分ごとに実行されません。私が何を見逃しているかを提案してください。
答え1
クローンの行は次のようになります。
* * * * * /home/Script_to_monitor_power/power_alarm_t2.py
非標準の場所でPythonを実行している場合は、このPythonスクリプトをシェルスクリプトにラップしてPATHとLD_LIBRARY_PATHを追加するのが賢明かもしれません。
また、シェルスクリプトを作成し、このスクリプトをcronに追加してPython実行可能ファイルを明示的にポイントし、Pythonを実行してデフォルトの環境変数を追加することもできます。
#!/bin/bash
source ~/.bash_profile
/path/to/python /home/Script_to_monitor_power/power_alarm_t2.py