hi! i have the script which i hit error. anyone knows whats wrong? i have been trying for the last 3 days and don't seems to be able to find an answer.
the error i got was
sp_out.sh[34]: syntax error at line 51 : `<<' unmatched. However when i move the FTP portion of the script out of the If condition, it works. The script as follows.
Quote:
#!/bin/ksh
# Singpost Automated Script - Out Script (eStudent to Singpost)
#
# To login into Singpost Internet Server to deposit the daily
# oustanding balance list genereated from eStudent.
#
# FTP the files from eStudent App Server to Singpost
# production directory: /opt2/saprd/sa76/saobjects/sf/sam
#
SERVERHOST=XXX.XXX.XXX.X
# eStudent Path
#ESTUDENT_PATH=/opt2/saprd/sa76/saobjects/sf/sam
#ESTUDENT_BACKUP_PATH=/opt2/saprd/sa76/saobjects/sf/sam/backup
ESTUDENT_PATH=/opt2/sadvl/orasadvl/sa76/saobjects/sf/sam
ESTUDENT_BACKUP_PATH=/opt2/sadvl/orasadvl/sa76/saobjects/sf/sam/backup
YYYY_DATE=$(date +%Y)
JULIAN_DATE=`expr $(date +%j) - 1`
ESTUDENT_FILENAME="ITEBAT1_ITL0100.${JULIAN_DATE}"
SINGPOST_FILENAME="ITL0100.${JULIAN_DATE}"
LOG_FILENAME="${ESTUDENT_PATH}/sp_log/sp_out_ftp_${YYYY_DATE}${JULIAN_DATE}.log"
cd $ESTUDENT_PATH
echo "Singpost FTP Script - $(date)" > "${LOG_FILENAME}"
echo "UPLOAD/PUT $SINGPOST_FILENAME" >> "${LOG_FILENAME}"
if [ ! -f "${ESTUDENT_PATH}/${ESTUDENT_FILENAME}" ]
then
echo "ERROR! Outgoing file not found ${ESTUDENT_PATH}/${ESTUDENT_FILENAME}." >> "${LOG_FILENAME}"
else
if [ ! -d "${ESTUDENT_PATH}/sp_out_archive" ]
then
echo "ERROR! Directory ${ESTUDENT_PATH}/sp_out_archive missing." >> "${LOG_FILENAME}"
else
echo "Create backup copy ${ESTUDENT_PATH}/sp_out_archive/${ESTUDENT_FILENAME}." >> "${LOG_FILENAME}"
cp "${ESTUDENT_PATH}/${ESTUDENT_FILENAME}" "${ESTUDENT_PATH}/sp_out_archive/${ESTUDENT_FILENAME}"
echo "Rename filename ${ESTUDENT_FILENAME} to ${ESTUDENT_PATH}/${SINGPOST_FILENAME}." >> "${LOG_FILENAME}"
mv -f "${ESTUDENT_PATH}/${ESTUDENT_FILENAME}" "${ESTUDENT_PATH}/${SINGPOST_FILENAME}"
ACCT=TEST;export ACCT
PASS=TEST123;export PASS
echo "Trying to connect to machine ${SERVERHOST}" >> "${LOG_FILENAME}"
# run FTP and create a FTP log file
ftp -nv $SERVERHOST >> "${LOG_FILENAME}" <<-EOF
user $ACCT $PASS
ascii
put "${ESTUDENT_PATH}/$SINGPOST_FILENAME"
bye
EOF
rm "${ESTUDENT_PATH}/$SINGPOST_FILENAME"
fi
fi
|