walkingmask’s development log

IT系の情報などを適当に書いていきます

MENU

cron の実行時に外部ファイルから環境変数を export する

問題

以下のようなファイルに定義された変数を環境変数として export して cron を実行したい (Python の os.environ.get() で使いたい)。

ENV1=1
ENV2=2
ENV3=3

cron に環境変数を渡す方法としては、以下のようなものがある。

source env;job
bash -l job

前者は env の中身が export ENV1=1 のような場合に使える。後者は bashrc などに定義された環境変数を使える。

しかし、ファイルを書き換えるのも (systemd の EnvironmentFile で使っている)、bashrc などに書き込むのも嫌。困った。

解決方法

export $(cat env_file | xargs); を使う。

*/1 * * * * export $(cat ~/env| xargs);/usr/bin/python ~/test.py

参考