Code:
#************************************************************************************************
# File NAME : master_Unix_New.sh
# PURPOSE : This script is used for the deployment automation.
# Market : Common
# In Parameters : Source_Fld_Path,Dest_Fld_Path,db_User_Name,db_Password,ddl_Input # Out Parameters : NA
# REVISIONS:
# Ver Date Author Description
# ----------------------------------------------------------------------------------------------
# 1.0 2-Jan-2014 Infosys 1. Created this Initial versionscript.
#************************************************************************************************
#!/bin/bash
#Taking source folder path as current directory
source_Fld_Path=`pwd`
#Taking destination directory from csv file
IFS=","
i=1
while read OPCO_CODE DOMAIN_TYPE RPAS_BOX_NAME DOMAIN_NAME ODI_TAPAS_HOME RPAS_PROFILE_NAME PROD_BATCH_LOAD_TRACKER_NAME PROD_WINDOW_TRACKER_NAME DESTINATION_FOLDER_PATH
do
#skip header record
test $i -eq 1 && ((i=i+1)) && continue
#
dest_Fld_Path="$DESTINATION_FOLDER_PATH"
done < ODI_deployment.csv
eval db_User_Name=$(echo "$1")
eval db_Password=$(echo "$2")
eval ddl_Input=$(echo "$3")
echo -e `date +%Y-%m-%d-%T` "[master_unix] Start of master Unix Script\n" >> $source_Fld_Path/log_Deployment.txt
cd $dest_Fld_Path
if [ -x $source_Fld_Path/Unix_Scripts/createFolders.sh ]
then
cp $source_Fld_Path/Unix_Scripts/createFolders.sh $dest_Fld_Path
echo -e `date +%Y-%m-%d-%T` "[master_unix] createFolders copied successfully\n" >> $source_Fld_Path/log_Deployment.txt
dos2unix createFolders.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] dos2Unix on createFolders successful\n" >> $source_Fld_Path/log_Deployment.txt
chmod 777 createFolders.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] chmod on createFolders successful\n" >> $source_Fld_Path/log_Deployment.txt
./createFolders.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] Execution of createFolders successful\n" >> $source_Fld_Path/log_Deployment.txt
else
echo createFolders not found
fi
cd $dest_Fld_Path/scripts
if [ -x $source_Fld_Path/Unix_Scripts/commonRPASScript.sh ]
then
echo -e `date +%Y-%m-%d-%T` "[master_unix] commonRPASScript found\n" >> $source_Fld_Path/log_Deployment.txt
cp $source_Fld_Path/Unix_Scripts/commonRPASScript.sh $dest_Fld_Path/scripts
echo -e `date +%Y-%m-%d-%T` "[master_unix] commonRPASScript copied successfully\n" >> $source_Fld_Path/log_Deployment.txt
dos2unix commonRPASScript.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] dos2Unix on commonRPASScript successful\n" >> $source_Fld_Path/log_Deployment.txt
chmod 777 commonRPASScript.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] chmod on commonRPASScript successful\n" >> $source_Fld_Path/log_Deployment.txt
else
echo commonRPASScript not found
fi
if [ -x $source_Fld_Path/Unix_Scripts/loadScriptsWrapper.sh ]
then
echo -e `date +%Y-%m-%d-%T` "[master_unix] loadScriptsWrapper found\n" >> $source_Fld_Path/log_Deployment.txt
cp $source_Fld_Path/Unix_Scripts/loadScriptsWrapper.sh $dest_Fld_Path/scripts
echo -e `date +%Y-%m-%d-%T` "[master_unix] loadScriptsWrapper copied successfully\n" >> $source_Fld_Path/log_Deployment.txt
dos2unix loadScriptsWrapper.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] dos2Unix on loadScriptsWrapper successful\n" >> $source_Fld_Path/log_Deployment.txt
chmod 777 loadScriptsWrapper.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] chmod on loadScriptsWrapper successful\n" >> $source_Fld_Path/log_Deployment.txt
else
echo loadScriptsWrapper not found
fi
#unix script to automate PL-SQL deployment
cd $source_Fld_Path
#dos2unix PLSQL_deployment.sh
#echo -e `date +%Y-%m-%d-%T` "[master_unix] dos2Unix on PLSQL_deployment.sh successful\n" >> $source_Fld_Path/log_Deployment.txt
#chmod 777 PLSQL_deployment.sh
#echo -e `date +%Y-%m-%d-%T` "[master_unix] chmod on PLSQL_deployment.sh successful\n" >> $source_Fld_Path/log_Deployment.txt
#./PLSQL_deployment.sh >> $1/log_Deployment.txt #check once
#echo -e `date +%Y-%m-%d-%T` "[master_unix] Execution of PLSQL_deployment.sh successful\n" >> $source_Fld_Path/log_Deployment.txt
#checking whether DDL has to be executed or not
if [ $3 == "Y" ]
then
sqlplus -s $1/$2 << EOF >> $source_Fld_Path/log_Deployment.txt
@$source_Fld_Path/Oracle/scripts/DDL/Initial_Load/DDL.sql
EOF
echo -e `date +%Y-%m-%d-%T` "[master_unix] Ddl execution successful\n" >> $source_Fld_Path/log_Deployment.txt
else
echo -e `date +%Y-%m-%d-%T` "[master_unix] Ddl execution not required\n" >> $source_Fld_Path/log_Deployment.txt
fi
#Running DMLs and PROCs
for i in `ls -1 $source_Fld_Path/Oracle/scripts/DML/*.sql`
do
sqlplus -s $1/$2 << EOF >> $source_Fld_Path/log_Deployment.txt
@$i
EOF
done
echo -e `date +%Y-%m-%d-%T` "[master_unix] DML execution successful\n" >> $source_Fld_Path/log_Deployment.txt
for i in `ls -1 $source_Fld_Path/Oracle/scripts/Procedures/*.sql`
do
sqlplus -s $1/$2 << EOF >> $source_Fld_Path/log_Deployment.txt
@$i
EOF
done
echo -e `date +%Y-%m-%d-%T` "[master_unix] PROCEDURES execution successful\n" >> $source_Fld_Path/log_Deployment.txt
#deployment script
dos2unix deploymentScript.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] dos2Unix on deploymentScript successful\n" >> $source_Fld_Path/log_Deployment.txt
chmod 777 deploymentScript.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] chmod on deploymentScript successful\n" >> $source_Fld_Path/log_Deployment.txt
dos2unix exportScenario.prop
echo -e `date +%Y-%m-%d-%T` "[master_unix] dos2Unix on exportScenario successful\n" >> $source_Fld_Path/log_Deployment.txt
chmod 777 exportScenario.prop
echo -e `date +%Y-%m-%d-%T` "[master_unix] chmod on exportScenario successful\n" >> $source_Fld_Path/log_Deployment.txt
./deploymentScript.sh
echo -e `date +%Y-%m-%d-%T` "[master_unix] Execution of deploymentScript successful\n" >> $source_Fld_Path/log_Deployment.txt
#summary
Comment