0

cron にこのコマンドを 10 分ごとに実行させようとしています。

(/home/pi/myst-myst/ DIR 内)

python myst.py `./monitor.sh`

私はそれを機能させるためにほとんどすべてを試しましたが、cronは正しく実行しません。現時点で私が持っているものは次のとおりです。

*/1 * * * * /usr/bin/python /home/pi/myst-myst/myst.py `./monitor.sh`

どんな助けでも大歓迎です。

使用できる crontab の代替手段はありますか? bash スクリプトを使用して python を実行し、その bash スクリプトに cron を使用できますか?

4

4 に答える 4

2

python と perl の両方を cron から直接呼び出すのに問題がありました。perlの場合、LIBPATHのデフォルトが不十分なものに煮詰められました。

コマンドをシェルスクリプトでラップし、「set -x」を追加して問題を追跡することをお勧めします

#!/bin/sh
set -x
export PYTHONPATH=/my/python/modules:$PYTHONPATH
/usr/bin/python /home/pi/myst-myst/myst.py $(/home/pi/myst-myst/monitor.sh)

直接呼び出して動作することを確認してから、cron 経由で呼び出してみてください。エラーメッセージをキャプチャするために、stdout と stderr の両方を必ずリダイレクトしてください。

 */10 * * * * /home/pi/myscript.sh > /home/pi/stdout 2> /home/pi/stderr
于 2013-03-12T18:58:51.333 に答える
1

次のようなことができます

*/10 * * * * cd /home/pi/myst-myst/;/usr/bin/python /home/pi/myst-myst/myst.py $(./monitor.sh)

コマンドを実行する前に作業ディレクトリを変更します。

編集:バッククォートを置き換えました

于 2013-03-11T08:40:44.167 に答える
0

スクリプトは、次のような環境変数に依存していますPYTHONPATHか? その場合、cron によって呼び出されたときに環境が失われます。

あなたが試すことができます:

*/1 * * * * PYTHONPATH=/my/python/modules/ /usr/bin/python /home/pi/myst-myst/myst.py `./monitor.sh`
于 2013-03-11T09:48:57.467 に答える
0

この方法を試してください:

 */1 * * * * /home/pi/myst-myst/myst.py `./monitor.sh`

そして、myst.py に以下を追加します。

#!/usr/bin/env python
于 2013-03-11T10:00:46.160 に答える