crontab執行腳本得到錯誤的結果,但手動執行可得到正確結果,為何呢?
腳本如下:#!/bin/sh
#
machineInit()
{
env_file=/tmp/env_$$
csh -f <<ENDOFCSH
source /usr1/amat/current_rls/bin/machine.init
printenv | /bin/sed 's/\(*\)=\(.*\)$/\1="\2"; export \1/' > $env_file
ENDOFCSH
echo "env_file=$env_file" >> $env_file
echo>> $env_file
. $env_file
rm -f $env_file
}
#
#
cd /usr1/amat/WLOG
NAME=`date +%m%d`
KKNAME=`date +%y%m%d`
echo $NAME
ELOG=$NAME.events
START=`date +%m/%d/%y`
START=$START';00:00:01'
echo $START
TO=`date +%m/%d/%y`
TO=$TO';23:59:59'
elog_log=$ELOG.log
machineInit
cat <<EOF |/usr1/amat/current_rls/obj/sparc/elog_client -grp elog_client -file $NAME > $elog_log
viewfrom = $START to = $TO
quit
EOF
echo "after --- elog_client ..."
mv /usr1/amat/current_rls/tmp/$ELOG /usr1/amat/WLOG
split -8000 $ELOG ${NAME}_events_
rm $ELOG
mkdir $NAME
mv $NAME* $NAME
cd /usr1/amat/WLOG/${NAME}
cat << EOF | /usr1/amat/current_rls/obj/sparc/cfg_client -grp cfg_client
write NULL $NAME.mcc.icf
quit
EOF
unix2dos $NAME.mcc.icf $KKNAME.icf
grep 'Endpoint pressure found.*' ${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.DPE
#grep 'throttle_valve_position.*GH11-1' ${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.gangle
grep 'throttle_valve_position.*TP1' ${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.angle
grep 'FLOW RATE FOR THIS STEP.*' ${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.flow
grep 'PROCESSING recipe.*completed on substrate.*Recipe processing time' ${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.time
grep 'Leak Rate.*'${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.leak
grep 'elog_data chamber pressure.*TP1'${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.pre
grep 'elog_data reflected power.*TP1'${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.reflected
grep '"Chamber pressure after pepd_time.*'${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.DPEP
grep 'elog_data vdc.*TP1'${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.vdc
grep 'elog_data vpp.*TP1'${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.vpp
grep 'elog_data rf_current.*'${NAME}_events_* > /usr1/amat/WLOG/$NAME/$NAME.current
find /usr1/amat/WLOG -mtime +5 -exec rm -rf {} \;
-------------------------------------------------------------------------
如果我手動執行這個腳本,可得到正確的LOG檔如0929.vdc
但使用crontab 排程執行後卻只能得到沒內容的0929.vdc (僅有檔案無內容)
請問這是什麼原因?
該如何修正? 写脚本要环境变量啊~~~这个问题整个论坛至少问了100遍,100遍 milujite 发表于 2012-09-29 10:53 static/image/common/back.gif
写脚本要环境变量啊~~~这个问题整个论坛至少问了100遍,100遍
真的很抱歉啊..
小弟是新手..
這腳本也不是小弟寫的..只是工作上遇到一些問題..
可否詳細告知環境變量如何設置呢? 有人可以幫忙嗎? 有问题,先google
页:
[1]