cronジョブの大きな問題は、絶対ディレクトリと相対ディレクトリの場所です。最初に相対パスを分割する必要があります。
#!/usr/bin/env bash
dirName=`dirname $0`
baseName=`basename $0`
arg1=$1
arg2=$2
cd ${dirName} && python ./room_wise.py arg1 arg2
その後、ユーザーのcronジョブにアイテムを追加し、以下を追加するのcrontab -eを使用します。
PATH=/usr/bin:/bin:/sbin
30 00 * * * /my/directory/containing/room_wise_py.sh arg1 arg2 > /my/directory/containing/output.log 2>&1
これは時々に問題があることができますので、あなたは、私がPATHを追加したことがわかります特定のオペレーティングシステムのディストリビューション。また、スクリプトはbashスクリプトと同じディレクトリに存在するか、$ 1としてdirnameを含むようにbashスクリプトを変更した場合は、引数としてディレクトリの場所を渡すことができます。
また、すべての出力をログファイルに出力していることがわかります。これは本当に良いアイデアです。何かがうまくいかない場合、プロセスをデバッグすることが時には非常に困難なことがあります。
あなたは '/ usr/bin/python/path/to/room_wise.py'を試したことがありますか? – Nepho
はい@ネフォ、私は両方のことを試しました – Sid
''どのpython''の出力は '/ usr/bin/python'の出力は期待通りですか? – Nepho