Cron は常にほとんど空の環境で実行されます。 HOME
、 LOGNAME
、および SHELL
設定されています;非常に限られた PATH
.したがって、実行可能ファイルへの完全なパスを使用し、cron
を使用するときにスクリプトで必要な変数をエクスポートすることをお勧めします。 .
cron
で環境変数を設定する方法はいくつかあります 、しかし、それらはすべて、スクリプトで設定することになります.
アプローチ 1:
スクリプトで必要な各変数を手動で設定します。
アプローチ 2:
プロフィールを参照してください:
. $HOME/.bash_profile
(または . $HOME/.profile
)
(通常、上記のファイルは他のファイルをソースすることがわかります (例:~/.bashrc
--> /etc/bashrc
--> /etc/profile.d/*
) - そうでない場合は、それらも入手できます。)
アプローチ 3:
環境変数をファイルに保存します (目的のユーザーとして実行します):
env > /path/to/my_env.sh
次に、cron スクリプトを介してインポートします:
env - `cat /path/to/my_env.sh` /bin/sh
アプローチ 4:
場合によっては、グローバル cron
を設定できます /etc/default/cron
の変数 .ただし、これらはすべての cron
に対して設定されるため、これにはリスクの要素があります。