GNU/Linux >> Linux の 問題 >  >> Linux

crontab が使用する環境変数はどこで設定できますか?

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 のフルパスに置き換える必要があります .


Linux
  1. Linux環境変数:LinuxVPSでの読み取りと設定の方法

  2. Linux で環境変数を設定、一覧表示、および削除する方法

  3. 外部 SMTP サーバーを使用するようにシステム メールを設定できますか?

  1. Linuxで環境変数とシェル変数を設定/作成する方法

  2. 環境変数がどこから来たのかを判断する方法は?

  3. Tmux.confファイルで環境変数を使用していますか?

  1. Ansible で Linux 環境変数を設定する方法

  2. 一時的な環境を設定する ($PATH)

  3. $HOME 環境変数はどこに設定されていますか?