予想されるPython環境でクローンジョブを実行しますか?

予想されるPython環境でクローンジョブを実行しますか?
  • 私はユーザーがrootいますuser1
  • 私のすべてのPythonスクリプトは次のように生成されます。user1
  • 自動化する必要があるbashファイルを作成しました。 bashファイルは私のPythonスクリプトを呼び出します。
  • cronファイルにbash呼び出しを追加しました。

しかし、私のPython環境rootいいえ同じですuser1(異なるバージョン、ライブラリパッケージなど)。したがって、cronが起動するとroot環境が使用中であるため、「ライブラリが見つかりません」などのPythonエラーが発生します。

user1私のcronコマンドがPython環境内でPythonスクリプトを代わりに実行していることをどうやって確認できますかroot

私のcronファイルでいくつかのバリエーションを試しましたが、su常にパスワードを求めます。完全に自動化されたプロセスにはこれが必要です。

ベストアンサー1

を使ってみましたsudo suか?

sudo su -l "user1" -c "/path/to/bashscript.sh"

または、crontabの上部で希望の環境を設定できます。

SHELL=/usr/local/bin/bash
PATH=<user1 path>
LOGNAME=user1
USER=user1
HOME=/home/user1

必要に応じて、bashファイルを実行する前にuser1構成ファイルを入手してください。

0 12 * * * * . /home/user1/.bash_profile; /path/to/bashscript.sh

おすすめ記事