1. ホーム
  2. linux

[解決済み] 正しいPATHでCRONを呼び出す方法

2022-05-08 18:10:31

質問

cronに正しいPATHを呼び出すようにしようとしています。シェルからPythonスクリプトを実行すると、bashrcで設定したPATHを使用してスクリプトが正常に実行されますが、cronを使用すると、すべてのPATHがbashrcから使用されません。bashrcのようにcronにPATHsを入力するファイルや、bashrcからPATHsを呼び出す方法はないのでしょうか?

正しいスクリプトを実行することはできます(つまり、crontabのスクリプトへのPATHは問題ではありません)が、そのスクリプトが実行されているときにビルドを実行し、これは .bashrc . ログインしているときにスクリプトを実行すると .bashrc PATHが引き込まれます。cronはシェルで実行されるわけではないので、PATHは引き込まれません。 .bashrc . bashスクリプトのラッパーを書かずに、これを取り込む方法はありますか?

どのように解決するのですか?

私は /etc/crontab . 私は vi で、このファイルに必要なPATHを入力し、rootで実行しました。通常のcrontabでは、設定したPATHを上書きしてしまいます。 この方法に関する良いチュートリアル .

システム全体のcronファイルはこんな感じです。

This has the username field, as used by /etc/crontab.
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user   command
42 6 * * *   root    run-parts --report /etc/cron.daily
47 6 * * 7   root    run-parts --report /etc/cron.weekly
52 6 1 * *   root    run-parts --report /etc/cron.monthly
01 01 * * 1-5 root python /path/to/file.py