crontab -e
の実行時に、crontab 自体で環境変数を定義できます。 コマンドラインから。
LANG=nb_NO.UTF-8
LC_ALL=nb_NO.UTF-8
# m h dom mon dow command
* * * * * sleep 5s && echo "yo"
この機能は、cron の特定の実装でのみ使用できます。 Ubuntu と Debian は現在、これらを crontab ファイル (GNU mcron) で宣言できる vixie-cron を使用しています。
Archlinux と RedHat は cronie を使用しますが、使用しません。 環境変数の宣言を許可し、cron.log に構文エラーをスローします。エントリごとに回避策を実行できます:
# m h dom mon dow command
* * * * * export LC_ALL=nb_NO.UTF-8; sleep 5s && echo "yo"
この問題に対するもう 1 つの解決策があります:
0 5 * * * . $HOME/.profile; /path/to/command/to/run
この場合、 $HOME/.profile
で定義されたすべての環境変数が選択されます ファイル。
もちろん $HOME
も設定されていないため、 $HOME
のフルパスに置き換える必要があります .