cron 実行時の環境変数
コマンドラインで実行するとうまく行くのに crontab で設定した場合うまく動かない。 Bash の環境変数は cron 実行時には利用できないのが うまく動かない原因でした。
Bash の環境変数を見る
$ printenv HOSTNAME=hoge TERM=xterm SHELL=/bin/bash HISTSIZE=10000 NLS_LANG=Japanese_Japan.AL32UTF8 SSH_CLIENT=XXX.XXX.XXX.XXX XXXXX XXXXX SSH_TTY=/dev/pts/2 USER=bar ORACLE_HOME=/opt/oracle/product/11.2.0 LD_LIBRARY_PATH=/opt/oracle/product/11.2.0/lib ...
解決手法1
cron 実行時に頭でセットする
ORACLE_HOME="/opt/oracle/product/11.2.0" * * * * * touch /tmp/hoge
解決手法2
* * * * * /bin/bash -l touch /tmp/hoge
個人的には解決手法2が好みです。