sudoを含むCrontabはDebian BeagleBone Blackでは機能しません。

sudoを含むCrontabはDebian BeagleBone Blackでは機能しません。

私のBeaglebone Blackデバイスから起動すると、ここで共有されているPythonコードを実行したいと思います。https://github.com/acseckin/hmrid。 Pythonコードにはスーパーユーザー権限が必要です。デバイスで使用しているDebianのバージョンには、「Debian 8.7 2017-03-19 4GB SD IOT」イメージがインストールされています。コードは端末で正しく実行されます。

sudo Python /home/debian/hmrid/runhmrid.py

次の行を追加すると、Debian ユーザーと root crontab は機能しません。

@reboot sudo python /home/debian/hmrid/runhmrid.py

しかし、Debianユーザーにcrontabを追加すると、スーパーユーザーを必要としない他のコードも完全に機能します。

@reboot python /home/debian/hmrid/runNotSuperUser.py

ベストアンサー1

sudo crontab -eas を使用してジョブをルートの crontab に配置します。

@reboot /full/path/to/python /home/debian/hmrid/runhmrid.py

ジョブが実行されます。いいえいつもの環境。これは、スクリプトがPythonの動作に影響を与える可能性がある環境変数に何らかの方法で依存している場合、スクリプトが正しく機能するために他の場所で設定する必要があることを意味します。

このコマンドの出力を別のファイルに書き込むには、次のようにします。

@reboot /full/path/to/python /home/debian/hmrid/runhmrid.py >/tmp/runhmrid.log 2>&1

/tmp/runhmrid.logエラーメッセージを含むクローンジョブのすべての出力をファイルに書き込みます。

一連のステートメントを使用して環境を設定し、exportPythonスクリプトを起動するシェルスクリプトラッパーを作成することもできます。それから電話してもいいそれクローンのスクリプト。

おすすめ記事