2014年9月10日水曜日

手動とcron実行・及び違うサーバで同じシェルスクリプト叩いて実行結果が違った時の確認

実行するときの環境変数の差を疑うべし

実行ユーザでprintenvした環境変数と
cronで実行したprintenvを比べてLANG設定とかちゃんと同じか確認する

# vi /etc/crontab
------------------------------------------------------------------------
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

*/1 * * * * root printenv > /root/printenv.txt
---------------------------------------------------------------

# less /root/printenv.txt
----------------------------------------
MAILTO=root
SHELL=/bin/bash
USER=root
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PWD=/
LANG=ja_JP.UTF-8
SHLVL=1
HOME=/
LOGNAME=root
_=/usr/bin/printenv
----------------------------------------



検証環境と本番環境で違っていたので上記の方法で確認して本番環境に
LANG設定がされてなかったのを確認

0 件のコメント:

コメントを投稿