look for a contracthead file first and if the contract head file does not exist on day1 exit script.
Now on day2 if contracthead exists or not run the script uploading files in order
such as contract line then contract contact
so the whole order on day1 is
contracthead
contractline
contractcontact
on day2
if it exists or not run the script like the order above even if files are missing.
Now this is the script i came up with.
basically the if statement for the days block seems not be working
it works determinig day 1 and 2 but it does nto run the script as i want it to.
So far.g if it has a contracthead ont he first day and no days file.
It will upload contract head and go to the else statement and create the days file. It should not do this because the contracthead file exists. If it did not exist then the days file will be created.
Could you tell me where i am going wrong please.
Expand|Select|Wrap|Line Numbers
- #!/bin/bash
- # DATE varaible is used to archive the files after ftp
- DATE=`/bin/date +%Y%m%d%H%M`
- # TODIR variable is the target directory for the file on remote system 32x
- TOARCHIVEDIR=/home/tibco/tibco/archive
- # 32x
- TODIR=/home/tibco/tibco/AIS_FTP/test/inbound/Staging
- # FROMDIR variable is the source directory of the file on the local system 5x
- FROMDIR=/home/tibco/ems/FTP/test/inbound/Staging/FTPComplete
- # ARCHDIR variable is the directory file get moved to after tranfer 5x
- ARCHDIR=/home/tibco/archive/testFtp2_32X
- pwd=`pwd`
- echo $pwd
- cd $FROMDIR
- STEXT="The following files were received in: /home/tibco/ems/FTP/test/inbound/Staging/FTPComplete \n"
- ETEXT="The following files were NOT FOUND in: /home/tibco/ems/FTP/test/inbound/Staging/FTPComplete \n"
- ########Running Loop########
- for file in int_sap_contracthead*.txt
- int_sap_contractline*.txt
- int_sap_contractcontact_*.txt
- do
- echo $file
- if [ -f $file ]
- then
- #echo " file $file exists"
- STEXT="%10s $STEXT \n $file "
- #echo " $STEXT "
- else
- ETEXT="%10s $ETEXT \n $file "
- #echo " $STEXT "
- fi
- done
- SUCCESS=`printf "$STEXT " `
- FAIL=`printf "$ETEXT " `
- ##################### Checkign if the days file exists######################
- NF=Contracthead file not found
- NFEMAIL=Contracthead file not found
- if [ -e "days" ]
- then
- echo "*** The days file exists ***"
- rm days
- echo "*** removing the days file ***"
- echo " ------ This is day 2 - all files are loading ------ "\n\n\n
- ################ FTP ################
- ftp -i -n server <<EOF
- user test 45678
- cd $TODIR
- pwd
- lcd $FROMDIR
- bin
- mput int_sap_contracthead_*.txt
- bye
- EOF
- ############ END FTP ###############
- echo "*** -- UPLOADING FILE CONTRACTHEAD -- ***"
- sleep 8
- elif [ -e "int_sap_contracthead_*.txt" ]
- then
- echo "*** -- UPLOADING FTP -- ***"
- ################ FTP ################
- ftp -i -n server <<EOF
- user test 45678
- cd $TODIR
- pwd
- lcd $FROMDIR
- bin
- mput int_sap_contracthead_*.txt
- bye
- EOF
- ############ END FTP ###############
- echo "int_sap_contracthead_*.txt File is uploading"
- else
- echo "1" > days
- echo "Files will not upload today"
- exit
- fi
- sleep 8
- ##################### End##################
- echo "code still running"
- if [ "$file" = "int_sap_contractline*.txt" ]
- then
- ################ FTP ################
- ftp -i -n server <<EOF
- user test 45678
- cd $TODIR
- pwd
- lcd $FROMDIR
- bin
- mput int_sap_contractline_*.txt
- bye
- EOF
- ############ END FTP ###############
- echo "contracthead File is uploading"
- sleep 8
- else
- echo "there is NO contractcontact File to upload"
- fi
- if [ "$file" = "int_sap_contractcontact*.txt" ]
- then
- ################ FTP ################
- ftp -i -n server <<EOF
- user test 45678
- cd $TODIR
- pwd
- lcd $FROMDIR
- bin
- mput int_sap_contractcontact_*.txt
- bye
- EOF
- ############ END FTP ###############
- echo "contractcontact File is uploading"
- else echo "there is NO contractcontact File to upload"
- fi
- HEADER="FTP Summary of the files "
- mail -s "$HEADER" test@domain.com <<EOF
- $SUCCESS
- $FAIL
- EOF
- # create the archive directory based on timestamp and move files
- cd $ARCHDIR
- mkdir $DATE
- mv $FROMDIR/int_sap_contractline_*.txt $ARCHDIR/$DATE/
- mv $FROMDIR/int_sap_contractcontact $ARCHDIR/$DATE/
- mv $FROMDIR/int_sap_contracthead_*.txt $ARCHDIR/$DATE/
- exit