cron 実行時の環境変数の値を調べる方法
- /usr/bin/env コマンドの結果をファイルに出力するよう crontab に設定する
現在の crontab をバックアップする
心配なら以下のコマンドなどでバックアップしておく。
$ crontab -l > ~/crontab.bak
crontab に設定する内容を用意
例えば以下の場合は毎日23時59分に実行される設定で、env コマンドの実行結果をホームディレクトリの env.txt ファイルに出力するようになっている。
今回はこの内容を ~/crontab.txt ファイルに保存しておく。
crontab.txt
59 23 1-31 1-12 0-6 /usr/bin/env > ~/env.txt
crontab に設定する
以下のように crontab.txt ファイルの内容で crontab の設定を上書きする。
$ crontab ~/crontab.txt
crontab に設定されていることを確認する。
$ crontab -l
59 23 1-31 1-12 0-6 /usr/bin/env > ~/env.txt
crontab が実行されるのを待つ
待つ。
結果を確認する
~/env.txt の内容を確認する。
例として以下の環境での確認結果を載せておく (アカウント名が alice の場合で、一部の値を改変したもの)。
Debian GNU/Linux 9 (stretch)
$ cat ~/env.txt
HOME=/home/alice
LOGNAME=alice
PATH=/usr/bin:/bin
LANG=ja_JP.UTF-8
SHELL=/bin/sh
PWD=/home/alice
CORESERVER (GMOデジロック社のレンタルサーバ)
$ cat ~/env.txt
XDG_SESSION_ID=1707777
SHELL=/bin/sh
USER=alice
PATH=/usr/bin:/bin
PWD=/virtual/alice
SHLVL=1
HOME=/virtual/alice
LOGNAME=alice
XDG_RUNTIME_DIR=/run/user/10077
_=/usr/bin/env
macOS Catalina 10.15
$ cat ~/env.txt
SHELL=/bin/sh
USER=alice
PATH=/usr/bin:/bin
PWD=/Users/alice
SHLVL=1
HOME=/Users/alice
LOGNAME=alice
_=/usr/bin/env
crontab の設定を元に戻しておく
必要に応じて設定を戻す。
$ crontab ~/crontab.bak