Sie sind auf Seite 1von 17

#!

/usr/bin/sh
################################################################################
#
# Author:
Doc Data ETL Team
#
# Project:
SwornDocs Process
#
# Script Name:
intralinks_docdata.sh
#
# Purpose:
Validates files from Intralinks
#
# Software Used:
UNIX - AIX
#
#
#
# Input Parameters:
#
#
#
#
################################################################################
#
#
Modification Log
#
################################################################################
#
#
Date
Init.
Description
#
################################################################################
#
#
#
################################################################################
#
SCRIPT_FULL_NAME=`basename $0`
SCRIPT_NAME=`echo $SCRIPT_FULL_NAME | cut -f1 -d "."`
inbound_path=/docdata/DefaultIT/DocMgmt/SwornDocs/IntraLinks/InboundFiles
src_path=/docdata/DefaultIT/DocMgmt/SwornDocs/IntraLinks/SrcFiles
Archive_path=/docdata/DefaultIT/DocMgmt/SwornDocs/IntraLinks/Archive
log_path=/docdata/DefaultIT/DocMgmt/SwornDocs/Scripts/logs
if [ "$1" == "TL" ]
then
log_file=$log_path/TL_sd_il_dts_inbound_fl_processing_$(date +"%Y%m%d%H%M%S").lo
g
elif [ "$1" == "CR" ]
then
log_file=$log_path/CR_sd_il_dts_inbound_fl_processing_$(date +"%Y%m%d%H%M%S").lo
g
elif [ "$1" == "CE" ]
then
log_file=$log_path/CE_sd_il_dts_inbound_fl_processing_$(date +"%Y%m%d%H%M%S").lo
g
else
echo "input paramter doesnot meet module "
fi
touch $log_file
chmod 777 $log_file
MAIL_LIST='doc_data_prod_support@restricted.chase.com'
run_module=$1
################################################################################
####
####################
SFTP FUNCTION
####################

################################################################################
####
sftp_zip_files()
{
Module=$1
SFTP_PATH=$2
FL_DROP_LOC=$3
####script calling syntax sh -x intralinks_sftp_loop_fl.ksh TL Template_Library/
Inbound Template_Library##########
sftp_log_file=$log_path/$Module"_"sftp_info_ilks_$(date +"%Y%m%d%H%M%S").log
touch $sftp_log_file
chmod 777 $sftp_log_file
server_name=ftsi21266@fts5.mfts.jpmchase.net
FILE_DIR=/docdata/DefaultIT/DocMgmt/SwornDocs/IntraLinks/InboundFiles
fl_nm=$FILE_DIR/$Module"_"ilks_sftp_$(date +"%Y%m%d%H%M%S").txt
touch $fl_nm
chmod 777 $fl_nm
TL_file_import_path=$SFTP_PATH
echo "##########################################################################
##########" >> ${log_file}
echo "####################
SFTPING intralink files
####################" >> ${log_file}
echo "##########################################################################
##########" >> ${log_file}
cd $FILE_DIR
current_log=$FILE_DIR/$Module"_"dummy_intralinks_sftp_$(date +"%Y%m%d%H%M%S").tx
t
touch $current_log
chmod 777 $current_log
try_cnt=2
#until false
while [ $try_cnt -le 7 ]
do
echo "
">> ${log_file}
echo "
">> ${log_file}
echo "--------------------------------------------------------------------------" >> ${log_file}
echo "-------------------------------Loop $try_cnt of 12 -----------------------------" >> ${log_file}
echo "--------------------------------------------------------------------------" >> ${log_file}
sftp -oPort=1022 $server_name 1 > ${sftp_log_file} <<EOE
cd $SFTP_PATH
!echo "sftp Start Date:`date +%Y%m%d%H%M%S`"
ls -ltr
!echo "sftp END Date:`date +%Y%m%d%H%M%S`"
bye
EOE
##### ##########################################################################
#############################
############ generting previous and current logs for sftp file comparsion #####
#############################
##### ##########################################################################
#############################

previous_curr_log=$current_log
#previous_log_count=`expr $try_cnt - 1`
current_log=$Module"_"$try_cnt"_"ntralinks_sftp_$(date +"%Y%m%d%H%M%S").txt
touch $current_log
chmod 777 $current_log
#if [ $try_cnt -eq 2 ]
#then
#previous_log=$previous_log_count"_"$Module"_"intralinks_sftp_$(date +"%Y%m%d%H%
M%S").log
#touch $previous_log
#chmod 777 $previous_log
#sleep 20
#try_cnt=`expr $try_cnt + 1`
#else
#echo "previous log file exist for this run"
#previous_log=
#fi
##### ##########################################################################
#############################
############ printing file name and byte size from sftp log
####
##############################
##### ##########################################################################
#############################
cat $sftp_log_file |grep -iv 'sftp' | awk '{print $9,$5}' > $current_log
cat $current_log | awk '{print $1}' > $fl_nm
#delete_empty_spaces=$FILE_DIR/Template_Library/delete_empty_spaces.txt
#touch $delete_empty_spaces
#chmod 777 $delete_empty_spaces
#awk 'NR!=1' $fl_nm > $delete_empty_spaces
get_append=$FILE_DIR/$Module"_"get_append_$(date +"%Y%m%d%H%M%S").txt
awk '{print "get '"$SFTP_PATH"/'" $0}' $fl_nm > $get_append
chmod 777 $get_append
#sed 's/^/get '"$TL_file_import_path"'/' $fl_nm
##### ##########################################################################
#############################
############ checking current log with previous log and sftping the files #####
#############################
##### ##########################################################################
#############################
if [ -f $previous_curr_log ];then
difference_counts=$FILE_DIR/$Module"_"difference_counts_$(date +"%Y%m%d%H%M%S").
txt
diff $current_log $previous_curr_log> $difference_counts
chmod 777 $difference_counts
final_diff_count=`cat $difference_counts | wc -l`
control_fl_count=$FILE_DIR/$Module"_"control_fl_count_$(date +"%Y%m%d%H%M%S").tx
t
cat $fl_nm |grep 'CTL.xml' > $control_fl_count
chmod 777 $control_fl_count
control_file_count=`cat $control_fl_count | wc -l`
if [ $final_diff_count -le 1 ] && [ $control_file_count -ge 1 ];
then
try_cnt=8
cd $FILE_DIR/$FL_DROP_LOC/

sftp -b $get_append -oPort=1022 ftsi21266@fts5.mfts.jpmchase.net


rc_sts=$?
if [ $rc_sts -ne 0 ]
then
echo "\nsftping of file Failed .........Please Check" >> ${log_
file}
#echo $mail_mess_failure | mailx -s "$script_name: SFTP from C
ONNECTIVITY server Failed!!!" $MAILL_LIST
fi
else
echo "Sleeping for 5min to again check the files avilability in
the server." >> ${log_file}
rem_loops=`expr 7 - $try_cnt `
try_cnt=`expr $try_cnt + 1`
echo "Script will Loop for $rem_loops times before exiting the s
cript" >> ${log_file}
echo "--------------------------------------------------------------------------" >> ${log_file}
echo "-----------------------------Loop $try_cnt --------------------------------" >> ${log_file}
echo "--------------------------------------------------------------------------" >> ${log_file}
sleep 60
fi
else
try_cnt=`expr $try_cnt + 1`
fi
done
echo "##########################################################################
##########" >> ${log_file}
echo "#################### CHECK FOR FINAL FILES AND ARCHIVE INTERMEDIATE FILES
####################" >> ${log_file}
echo "##########################################################################
##########" >> ${log_file}
if [ $final_diff_count -le 1 ] && [ $control_file_count -ge 1 ] && [ $rc_sts -le
0 ];
then
echo "\n files are downloaded after sftp sytem is stabilised " >> ${log_
file}
cd $FILE_DIR
SFTP_IM_ZIP=$Module"_"INTERMEDIATE_$(date +"%Y%m%d%H%M%S").tar
tar -cvf $SFTP_IM_ZIP $Module_*.txt && rm -R $Module_*.txt
mv $SFTP_IM_ZIP $Archive_path
rc_sts=$?
if [ $rc_sts -ne 0 ]
then
echo "\narchiving and deleteing intermediate files Failed .....
....Please Check log " >> ${log_file}
#echo "archiving and deleteing intermediate files Failed in scr
ipt $SCRIPT_NAME " | mailx -s "$script_name: archiving Failed!!!" $MAIL_LIST
fi

else
echo "connectivity server is still uploading the files or sftp might hav
e failed" >> ${log_file}
echo "connectivity server is still uploading the files or sftp might hav
e failed" | mailx -s "$SCRIPT_NAME: connectivity server is still uploading the
files or sftp might have failed!!" $MAIL_LIST
#exit 3
fi
}
################################################################################
######
######## sftp FUNCTION CALL process starts here
######################
######################
################################################################################
######
if [ "$1" == "TL" ]
then
sftp_zip_files TL Template_Library/Inbound Template_Library
TL_SFTP_STATUS=$?
if [ $TL_SFTP_STATUS -ne 0 ]
then
echo "\nsftp process failed for TL .........Please Check the log file" >> ${log
_file}
echo "sftp process failed for TL - @ $(date)" | mailx -s "$SC
RIPT_NAME: SFTP PROCESS FAILED FOR TL PROCESS..!!" $MAIL_LIST
else
echo "\nasftp process for TL process .............Succeeded" >> ${log_fi
le}
fi
elif [ "$1" == "CR" ]
then
sftp_zip_files CR SD_Case_Creation/Inbound SD_Case_Creation
CR_SFTP_STATUS=$?
if [ $CR_SFTP_STATUS -ne 0 ]
then
echo "\nsftp process failed for CR .........Please Check the log file" >> ${log
_file}
echo "sftp process failed for CR - @ $(date)" | mailx -s "$SC
RIPT_NAME: SFTP PROCESS FAILED FOR CR PROCESS..!!" $MAIL_LIST
else
echo "\nasftp process for CR process .............Succeeded" >> ${log_fi
le}
fi
elif [ "$1" == "CE" ]
then
sftp_zip_files CE SD_Case_Extraction/Inbound SD_Case_Extraction
CE_SFTP_STATUS=$?
if [ $CE_SFTP_STATUS -ne 0 ]
then
echo "\nsftp process failed for CE .........Please Check the log file" >> ${log
_file}
echo "sftp process failed for CE - @ $(date)" | mailx -s "$SC
RIPT_NAME: SFTP PROCESS FAILED FOR CE PROCESS..!!" $MAIL_LIST
else

echo "\nasftp process for CE process .............Succeeded" >> ${log_fi


le}
fi
else
echo "None of the condition met" >> ${log_file}
fi

################################################################################
####################################
######## UNZIPPING ZIP FILES AND MANIPULATION OF XML FILES STARTS HERE #########
###################################
################################################################################
####################################
tmplt_path=Template_Library
case_response_path=SD_Case_Creation
Case_Extraction_path=SD_Case_Extraction
tmplt_intralinks_list_file=$src_path/$tmplt_path/tmplt_xmls_list_file.txt
cr_intralinks_list_file=$src_path/$case_response_path/cr_xmls_list_file.txt
ce_intralinks_list_file=$src_path/$Case_Extraction_path/ce_xmls_list_file.cbl
tmplt_intralinks_zipnames=$src_path/$tmplt_path/tmplt_ctrl_fl_zp_nm_$(date +"%Y%
m%d%H%M%S").txt
case_ext_intralinks_zipnames=$src_path/$Case_Extraction_path/ce_ctrl_fl_zp_nm_$(
date +"%Y%m%d%H%M%S").cbl
case_resp_intralinks_zipnames=$src_path/$case_response_path/cr_ctrl_fl_zp_nm_$(d
ate +"%Y%m%d%H%M%S").txt
tempalte_valid_zip_files=$src_path/$tmplt_path/tmplt_zips_in_dir_$(date +"%Y%m%d
%H%M%S").txt
case_extraction_valid_zip_files=$src_path/$Case_Extraction_path/ce_zips_in_dir_$
(date +"%Y%m%d%H%M%S").cbl
case_response_valid_zip_files=$src_path/$case_response_path/cr_zips_in_dir_$(dat
e +"%Y%m%d%H%M%S").txt
tmplt_valid_zipfile_name_file=$src_path/$tmplt_path/tmplt_unzip_log_$(date +"%Y%
m%d%H%M%S").txt
cr_valid_zipfile_name_file=$src_path/$case_response_path/cr_z_unzip_log_$(date +
"%Y%m%d%H%M%S").txt
ce_valid_zipfile_name_file=$src_path/$Case_Extraction_path/ce_unzip_log_$(date +
"%Y%m%d%H%M%S").cbl
tmplt_corrected_zipfile_name_file=$src_path/$tmplt_path/tmplt_corrected_zip_name
_$(date +"%Y%m%d%H%M%S").txt
cr_corrected_zipfile_name_file=$src_path/$case_response_path/cr_corrected_zip_na
me_$(date +"%Y%m%d%H%M%S").txt
ce_corrected_zipfile_name_file=$src_path/$Case_Extraction_path/ce_corrected_zip_
name_$(date +"%Y%m%d%H%M%S").cbl
tmplt_CHECK_CONTROL_FILE=$inbound_path/$tmplt_path/*-CTL.xml
cr_CHECK_CONTROL_FILE=$inbound_path/$case_response_path/*-CTL.xml
ce_CHECK_CONTROL_FILE=$inbound_path/$Case_Extraction_path/*-CTL.xml
#log_file=/docdata/DefaultIT/DocMgmt/SwornDocs/Scripts/logs/ilks_to_docdata_dail

y_$(date +"%Y%m%d%H%M%S").log
export APLCTN_ROOT_DIR="/docdata/DefaultIT/DocMgmt/SwornDocs/"
MAIL_LIST='kadiyala.chandrasekhar@jpmchase.com'
unzip_mail_mess_failure="Recipients,\n\n$Intralinks sworn doc script - Failed.\n
\nunZipping of zip Files has been Failed.\n\nThis is an auto generated email ...
Please do not reply to this email.\nPlease check the Log File $LOG_FILE\n\nPleas
e check with DIT DOC Team for any Further Questions. \n\nThanks,\nDIT DOC"
mail_mess_failure="Recipients,\n\n$Intralinks sftping process - Failed.\n\nfaile
d to get files from sftp server .\n\nThis is an auto generated email ...Please d
o not reply to this email.\nPlease check the Log File $LOG_FILE\n\nPlease check
with DIT DOC Team for any Further Questions. \n\nThanks,\nDIT DOC"
server_name=ftsi21266@fts5.mfts.jpmchase.net
tmplt_lst_fl_rw_nm=$src_path/tmplt_mstr_zip_name_$(date +"%Y%m%d%H%M%S").txt
ce_lst_fl_rw_nm=$src_path/ce_mstr_zip_name_$(date +"%Y%m%d%H%M%S").cbl
cr_lst_fl_rw_nm=$src_path/cr_mstr_zip_name_$(date +"%Y%m%d%H%M%S").txt
tmplt_dtl_fl_binfa_nm=$src_path/tmplt_DTL_zip_name_$(date +"%Y%m%d%H%M%S").txt
ce_dtl_fl_binfa_nm=$src_path/ce_DTL_zip_name_$(date +"%Y%m%d%H%M%S").cbl
cr_dtl_fl_binfa_nm=$src_path/cr_DTL_zip_name_$(date +"%Y%m%d%H%M%S").txt
zip_missing=missing_zip_info_$(date +"%Y%m%d%H%M%S").cbl
#touch $log_file
#chmod 777 $log_file

###################################################################
#######writing zip file names to a text file from control file ####
###################################################################
zipfiles_names_list()
{
cd $1
if [ ! -f $3 ]
then
echo "control file doesnot exist in $1 " >> $log_file 2>&1
echo "control_file missing in $1" | mailx -s "$SCRIPT_FULL_NAME:control file no
t found in sftp location" $MAIL_LIST < ${log_file}
else
cat *.xml | awk '/<zip_name>/{print $0;}' | awk -F '>' '{print $2;}' | awk -F '<
' '{print $1;}' > $2"_unsort".cbl
mv *-CTL.xml $src_path
##############################################
#### sort and remove duplicate zip files######
##############################################
sort -u $2"_unsort".cbl > $2
fi
}
#####validating zip file names from control file ###
zip_files_presence_check()
{
zip_count=`cat $1 |wc -l`
i=1
while [[ $i -le ${zip_count} ]]
do
zip_name=`awk 'FNR == '$i' {print $1}' $1`

echo "zip name is $zip_name" >> $log_file 2>&1


echo " path is $4/${zip_name}" >> $log_file 2>&1
cd $4
if [[ -f "${zip_name}" ]];
then
echo "zip $zip_name exist in $4" >> $log_file 2>&1
mv $4/${zip_name}* $2/$zip_name
echo "$zip_name" >> $3
else
echo "zip $zip_name doesnot exist in $4 path" >> $log_file 2>&1
echo "zip file $zip_name is mentioned in control file but missing in $4 dir" |
mailx -s "$SCRIPT_FULL_NAME:zip file not found in dir" $MAIL_LIST < ${log_file}
echo "$zip_name||||||FAIL|zip not found" >> $2/${zip_missing}
cat $2/${zip_missing} >> $5
fi
let i=i+1
done
}

#######unzipping valid zip files#########


valid_zip_files_unzip()
{
valid_zip_count=`cat $1 | wc -l | sed 's/[[:blank:]]//g'`
echo "unzipping zip files and processing started" >> $log_file
echo "mfl_name|mfl_cnt|mfl_src_loc|mfl_upld_tmstp|mfl_dwnld_tmstp|mfl_tgt_loc|mf
l_size|mfl_srce_rd_tmstp|rezip_fl_nm|rezip_fl_size|mfl_status|mfl_err_status" >
$7
echo "mfl_name|dfl_name|dfl_src_loc|dtl_upload_tmstp|dfl_dwnld_tmstp|dfl_tgt_loc
|dfl_size|status|dfl_err_status" > $6
i=1
while [[ $i -le ${valid_zip_count} ]]
do
valid_zipfile_name=''
rezip_fl_nm=''
rezip_fl_size=''
mfl_tgt_loc=''
mfl_name=''
mfl_count=''
mfl_loc=''
mfl_upld_tmstp=''
mfl_dwnld_tmstp=''
mfl_size=''
mfl_srce_rd_tmstp=''
mfl_status=''
mfl_err_status=''
echo " value of $i " | tee -a ${log_file}
valid_zipfile_name=`awk 'FNR == '$i' {print $1}' $1`
echo " value of $valid_zipfile_name " | tee -a ${log_file}
echo "valid zip name is $valid_zipfile_name" | tee -a ${log_file}
echo "valid zip name is $valid_zipfile_name" >> $log_file
mfl_dwnld_tmstp=`unzip -lo $2/${valid_zipfile_name} | head -n4 | tail -n1 | awk
'{printf $2;printf " ";printf $3; print ":00";}'`
mfl_size=`ls -l $2/${valid_zipfile_name} | awk '{ print $5;}'`
cd $2
unzip -o $valid_zipfile_name > $3

unzip_status=$?
if [ $unzip_status -ne 0 ]
then
echo "\nunzip process has failed .........Please Check the log file" >> ${log_fi
le}
echo $unzip_mail_mess_failure | mailx -s "unzipping files pro
cess Failed!!!" $MAIL_LIST
echo "$valid_zipfile_name|||||${src_path}/|$mfl_size||||FAIL|unzipping failed" >
$2/${zip_missing}
cat $2/${zip_missing} >> $7
else
echo "\nunzip process .............Succeeded" >> ${log_file}
###############################################################
###### checking for necesary folders in extracted zip #########
###############################################################
value1=$( grep -v "Post-Processing/Success/" ${3} )
value2=$( grep -v "Post-Processing/Failed/" ${3} )
value3=$( grep -v "Pre-Processing/Invalid/" ${3} )
#######
if [ $value1 == 0 -o $value2 == 0 -o $value3 == 0 ]
then
if [ "$2" != "${src_path}/${Case_Extraction_path}" ]
then
echo "expected folders not found in zip $value1,$value2,$value3 ....exiting t
he script" >> $log_file 2>&1
echo "$valid_zipfile_name||||$mfl_dwnld_tmstp|${src_path}/|$mfl_size||||FAIL|exp
ected folders not found in zip" > $2/${zip_missing}
cat $2/${zip_missing} >> $7
echo "expected folders not found in zip ....exiting the script" >> $log_file
echo "expected folders not found in zip ....exiting the script" | mailx -s "$S
CRIPT_FULL_NAME:required folders not found in extracted zip file $valid_zipfile_
name" $MAIL_LIST < ${log_file}
else
echo "no need to check folders for case extraction process " >> $log_file
fi
else
echo "expected folders
2>&1

found in zip ....continuing the script" >> $log_file

####################################################################
################################################################################
########################################################
#########
repeated_xml_list is created so that loop doesnot repeat for all xm
l files in detail file while processing them as repeated xml list is created wit
h new zip file name everytime ###########
################################################################################
########################################################
cd $2
repeated_xml_list=`echo $valid_zipfile_name | cut -f1 -d "."`
total_xml_fl_in_zip=${repeated_xml_list}"_"file.cbl
touch $total_xml_fl_in_zip
chmod -R 777 *
if [ "$2" != "${src_path}/${Case_Extraction_path}" ]

then
cd $2/Pre-Processing/Invalid
ls -l *.xml |awk '{print $9}'|sort >> $5
ls -l *.xml |awk '{print $5 " " $9}'|sort >> $2/$total_xml_fl_in_zip
cd $2/Post-Processing/Success
ls -l *.xml |awk '{print $9}'|sort >> $5
ls -l *.xml |awk '{print $5 " " $9}'|sort >> $2/$total_xml_fl_in_zip
cd $2/Post-Processing/Failed
ls -l *.xml |awk '{print $9}'|sort >> $5
ls -l *.xml |awk '{print $5 " " $9}'|sort >> $2/$total_xml_fl_in_zip
else
ls -l |grep -v '\.zip' |grep -v '\.cbl' | awk 'NR>=2 {print $9}'|sort >>
$5
ls -l |grep -v '\.zip' |grep -v '\.cbl' | awk 'NR>=2 {print $5 " " $9}'
|sort >> $2/$total_xml_fl_in_zip
fi
xml_count_listfile=`cat $2/$total_xml_fl_in_zip | wc -l |sed 's/[[:blank:]]//g`
if [ ${xml_count_listfile} -ge 1 ]
then
echo "\nthere is atleast one xml file in zip file .........Please Check the log
file" >> ${log_file}
else
echo "there is no xml file in zip file .........Please Check the log file" >> $l
og_file
echo "\nthere is no xml file in zip file .........Please Check the log file" |
mailx -s "zero xml files in zip file $valid_zipfile_name!!!" $MAIL_LIST < ${log
_file}
echo "$valid_zipfile_name||||$mfl_dwnld_tmstp|${src_path}|$mfl_size||||FAIL|no x
mlfiles in zip" > $2/${zip_missing}
cat $2/${zip_missing} >> $7
fi
rezip_fl_nm=''
rezip_fl_size=''
mfl_tgt_loc=${src_path}/
mfl_name=$valid_zipfile_name
mfl_count=$xml_count_listfile
mfl_loc=$2
mfl_upld_tmstp=''
mfl_srce_rd_tmstp=''
mfl_status='SUCC'
mfl_err_status=''
echo "$mfl_name|$mfl_count|$mfl_loc|$mfl_upld_tmstp|$mfl_dwnld_tmstp|$mfl_tgt_lo
c|$mfl_size|$mfl_srce_rd_tmstp|$rezip_fl_nm|$rezip_fl_size|$mfl_status|$mfl_err_
status" >> ${log_file}
echo "$mfl_name|$mfl_count|$mfl_loc|$mfl_upld_tmstp|$mfl_dwnld_tmstp|$mfl_tgt_lo
c|$mfl_size|$mfl_srce_rd_tmstp|$rezip_fl_nm|$rezip_fl_size|$mfl_status|$mfl_err_
status" >> $7
#cat $2/${zip_missing} >> $7
mfl_name=''
dfl_name=''
dfl_count=''
dfl_src_loc=''
dfl_upld_tmstp=''
dfl_dwnld_tmstp=''
dfl_size=''
dfl_srce_rd_tmstp=''
dfl_status=''

dtl_err_status=''
dfl_tgt_loc=''
touch $4
chmod 777 $4
if [ "$2" != "${src_path}/${Case_Extraction_path}" ]
then
sed -e 's/Archive://g' -e 's/ creating://g' -e 's/ extracting://g' -e 's/ infl
ating://g' $3 | grep -e '.*\.xml' -e '.*\.doc' -e '.*\.docx' -e '.*\.pdf' | gre
p -v 'Pre-Processing/Valid/' | grep -v 'Log-' > $4
else
sed -e 's/Archive://g' -e 's/ creating://g' -e 's/ extracting://g' -e 's/ infl
ating://g' $3 | grep -v 'Pre-Processing/Valid/' | grep -v 'Log-' | grep -v ".zip
" > $4
fi
##grep -v 'Pre-Processing/Valid/' ${inbound_path}/${valid_zipfile_name}_file2.tx
t > ${inbound_path}/${valid_zipfile_name}_file3.txt
valid_xml_count=`cat $2/$total_xml_fl_in_zip | wc -l`
j=1
while [[ $j -le ${valid_xml_count} ]]
do
mfl_name=$valid_zipfile_name
cd $2
if [ "$2" != "${src_path}/${Case_Extraction_path}" ]
then
dfl_name=`cat $4 | awk -F '/' 'FNR == '$j' {print $3}'`
else
dfl_name=`cat $4 |awk 'FNR == '$j'`
fi
dfl_count=''
xml_file_path=`sed -n ${j}p $4`
dfl_src_loc=$2
dfl_upld_tmstp=''
dfl_dwnld_tmstp=`unzip -lo $2/${valid_zipfile_name} | head -n4 | tail -n1 | awk
'{printf $2;printf " ";printf $3; print ":00";}'`
xml_file_path=`sed -n ${j}p $4`
dfl_size=`cat $2/$total_xml_fl_in_zip | awk 'FNR == '$j' {print $1}'`
dfl_srce_rd_tmstp=''
dfl_tgt_loc=${src_path}/
if [ "$2" != "${src_path}/${Case_Extraction_path}" ]
then
invalid_dir=`cat $4 | awk -F '/' 'FNR == '$j' {print $2}'`
if [ "$invalid_dir" == "Invalid" ]
then
dfl_status='SUCC'
dfl_err_status='Invalid Files'
else
dfl_status='SUCC'
dfl_err_status=''
fi
else
dfl_nm_xml=`echo "$dfl_name" | awk -F '.' '{print $2}'`
echo "xml name is $dfl_nm_xml" | tee -a ${log_file}
xml_fl_nm=xml

if [ $dfl_nm_xml == $xml_fl_nm ]
then
echo "inside xml loop" | tee -a ${log_file}
cat $dfl_name | grep "LocalPath=" | awk -F 'LocalPath=' '{print $2;}' |awk -F'"
' '{print $2}' > $doc_nm
doc_count=`cat $doc_nm |wc -l | sed 's/[[:blank:]]//g'`
echo "doc count is is $doc_count" | tee -a ${log_file}
if [ $doc_count -eq 0 ]
then
dfl_status='SUCC'
dfl_err_status=''
fi
cat $doc_nm | while read line;do
#awk -F '/' 'FNR == '$j' {print $3}' | ##
x="$line"
if [ -f $src_path/$Case_Extraction_path/"$x" ]
#[ $doc_count -eq 0 ] ||
then
dfl_status='SUCC'
dfl_err_status=''
else
dfl_status='FAIL'
dfl_err_status='DOC NOT FOUND IN DIR'
fi
done
else
dfl_status='SUCC'
dfl_err_status=''
fi

fi
#dfl_name=`cat $4 |awk 'FNR == '$j'`
echo "xml info is $mfl_name|$dfl_name|$dfl_src_loc|$dtl_upld_tmstp|$dfl_dwnld_tm
stp |$dfl_tgt_loc|$dfl_size|$dfl_status|$dfl_err_status" >> $log_file
echo "$mfl_name|$dfl_name|$dfl_src_loc|$dtl_upld_tmstp|$dfl_dwnld_tmstp |$dfl_tg
t_loc|$dfl_size|$dfl_status|$dfl_err_status" >> $6
#done
#fi
#echo mv "${dfl_name}" $src_path
let j=j+1
done
fi
############################################################################
##### moving xml and doc files even if they have spaces in filenames ########
############################################################################
if [ "$2" != "${src_path}/${Case_Extraction_path}" ]
then
cat $4 | while read line;do
#awk -F '/' 'FNR == '$j' {print $3}' | ##
x="$line"

mv "$x" "${src_path}/"
echo "below xmls are being moved to src dir" >> $log_file
echo "$x is moved to ${src_path} " >> $log_file
done
else
cat $4 | while read line;do
x="$line"
doc_extension=`echo "$x" |cut -d . -f2`
doc_count=`echo "$x" |cut -d . -f2 | grep "docx" |wc -l |sed 's/[[:blank:]]//g'`
#doc_count2=`echo "$x" |cut -d . -f2 | grep "pdf" |wc -l |sed 's/[[:blank:]]//g'
`
#doc_count2=`echo "$x" |cut -d . -f2 | grep "doc" |wc -l |sed 's/[[:blank:]]//g'
`
#doc_count=
if [[ "$doc_extension" != "xml" ]]
then
zip_fl_nm_xml=`echo $mfl_name | cut -d . -f1`
mv "$x" "${src_path}/${zip_fl_nm_xml}"_"$x"
echo "below xmls are being moved to src dir" >> $log_file
echo "$x is moved to ${src_path} " >> $log_file
else
mv "$x" "${src_path}/"
echo "below xmls are being moved to src dir" >> $log_file
echo "$x is moved to ${src_path} " >> $log_file
fi
done
fi
######moving valid zip files to src directory############
mv $2/${valid_zipfile_name} $src_path
echo "below zips are being moved to src dir" >> $log_file
echo "${valid_zipfile_name} is moved to ${src_path} " >> $log_file
rm -rf $2/Pre-Processing
rm -rf $2/Post-Processing
echo "removed post and pre processing folders for every zip" >> $log_file
fi
let i=i+1
done
}

if [ "$1" == "TL" ] && [ $TL_SFTP_STATUS -eq 0 ]


then
touch $src_path/${tmplt_path}/${zip_missing}
chmod 777 ${src_path}/${tmplt_path}/${zip_missing}
touch $tmplt_valid_zipfile_name_file
touch $tmplt_corrected_zipfile_name_file
touch $tempalte_valid_zip_files
touch $tmplt_lst_fl_rw_nm
touch $tmplt_dtl_fl_binfa_nm
chmod 777 $tmplt_lst_fl_rw_nm
chmod 777 $tmplt_dtl_fl_binfa_nm
touch $tmplt_intralinks_list_file
touch $tmplt_intralinks_zipnames
chmod 777 $tmplt_intralinks_list_file
chmod 777 $tempalte_valid_zip_files
chmod 777 $tmplt_intralinks_zipnames

chmod 777 $tmplt_valid_zipfile_name_file


chmod 777 $tmplt_corrected_zipfile_name_file
###template zip file names capture########
zipfiles_names_list $inbound_path/$tmplt_path $tmplt_intralinks_zipnames $tmplt_
CHECK_CONTROL_FILE
###template zip file presence check########
zip_files_presence_check $tmplt_intralinks_zipnames $src_path/$tmplt_path $tempa
lte_valid_zip_files $inbound_path/$tmplt_path $tmplt_lst_fl_rw_nm
###template unzipping valid zip file ########
valid_zip_files_unzip $tempalte_valid_zip_files $src_path/$tmplt_path $tmplt_val
id_zipfile_name_file $tmplt_corrected_zipfile_name_file $tmplt_intralinks_list_f
ile $tmplt_dtl_fl_binfa_nm $tmplt_lst_fl_rw_nm
elif [ "$1" == "CR" ] &&[ $CR_SFTP_STATUS -eq 0 ]
then
touch $src_path/$case_response_path/${zip_missing}
chmod 777 ${src_path}/${case_response_path}/${zip_missing}
touch $cr_valid_zipfile_name_file
touch $cr_corrected_zipfile_name_file
touch $case_response_valid_zip_files
touch $cr_lst_fl_rw_nm
touch $cr_dtl_fl_binfa_nm
chmod 777 $cr_lst_fl_rw_nm
chmod 777 $cr_dtl_fl_binfa_nm
touch $cr_intralinks_list_file
touch $case_resp_intralinks_zipnames
chmod 777 $cr_intralinks_list_file
chmod 777 $case_response_valid_zip_files
chmod 777 $case_resp_intralinks_zipnames
chmod 777 $cr_valid_zipfile_name_file
chmod 777 $cr_corrected_zipfile_name_file
###case creation zip file names capture########
zipfiles_names_list $inbound_path/$case_response_path $case_resp_intralinks_zipn
ames $cr_CHECK_CONTROL_FILE
###case creation zip file presence check########
zip_files_presence_check $case_resp_intralinks_zipnames $src_path/$case_response
_path $case_response_valid_zip_files $inbound_path/$case_response_path $cr_lst_f
l_rw_nm
###case creation unzipping valid zip file ########
valid_zip_files_unzip $case_response_valid_zip_files $src_path/$case_response_pa
th $cr_valid_zipfile_name_file $cr_corrected_zipfile_name_file $cr_intralinks_li
st_file $cr_dtl_fl_binfa_nm $cr_lst_fl_rw_nm
elif [ "$1" == "CE" ] &&[ $CE_SFTP_STATUS -eq 0 ]
then
touch
chmod
touch
touch
touch
touch
touch
touch

$src_path/$Case_Extraction_path/${zip_missing}
777 ${src_path}/${Case_Extraction_path}/${zip_missing}
$ce_valid_zipfile_name_file
$ce_corrected_zipfile_name_file
$case_extraction_valid_zip_files
$ce_lst_fl_rw_nm
$ce_dtl_fl_binfa_nm
$ce_intralinks_list_file

chmod 777 $ce_lst_fl_rw_nm


chmod 777 $ce_dtl_fl_binfa_nm
touch $case_ext_intralinks_zipnames
chmod 777 $ce_intralinks_list_file
chmod 777 $case_extraction_valid_zip_files
chmod 777 $case_ext_intralinks_zipnames
chmod 777 $ce_valid_zipfile_name_file
chmod 777 $ce_corrected_zipfile_name_file
doc_nm=$src_path/$Case_Extraction_path/DOC_NM_$(date +"%Y%m%d%H%M%S").cbl
touch $doc_nm
chmod 777 $doc_nm
###case extraction zip file names capture########
zipfiles_names_list $inbound_path/$Case_Extraction_path $case_ext_intralinks_zip
names $ce_CHECK_CONTROL_FILE
###case extraction zip file presence check########
zip_files_presence_check $case_ext_intralinks_zipnames $src_path/$Case_Extractio
n_path $case_extraction_valid_zip_files $inbound_path/$Case_Extraction_path $ce_
lst_fl_rw_nm
###case extraction unzipping valid zip file ########
valid_zip_files_unzip $case_extraction_valid_zip_files $src_path/$Case_Extractio
n_path $ce_valid_zipfile_name_file $ce_corrected_zipfile_name_file $ce_intralink
s_list_file $ce_dtl_fl_binfa_nm $ce_lst_fl_rw_nm
else
echo " unzipping process will not start as input variable doesnot meet any test
condition or else sftp might have failed" >> ${log_file}
fi
############################################################################
#######deleting intermedite files generated in middle of process ############
############################################################################
if [ "$1" == "TL" ] && [ $TL_SFTP_STATUS -eq 0 ]
then
cd $src_path/$tmplt_path
tar_fl_nm=TL_SD_IL_INTERM_FL_$(date +"%Y%m%d%H%M%S").tar
tar cvf $tar_fl_nm *.txt && rm -f tmplt_*.txt && rm -f missing_*.txt
tar uvf $tar_fl_nm *.cbl && rm -f *.cbl
tar uvf $tar_fl_nm Log-*.xml && rm -f Log-*.xml
mv *.tar $Archive_path
rc_sts=$?
if [ $rc_sts -ne 0 ]
then
echo "\narchiving and deleteing intermediate files in $src_path/
$tmplt_path Failed .........Please Check log " >> ${log_file}
echo "archiving and deleteing intermediate files Failed in $src
_path/$tmplt_path for script $SCRIPT_NAME " | mailx -s "$script_name: archivi
ng Failed for files in $src_path/$tmplt_path!!!" $MAIL_LIST
else
echo "archiving and deleteing intermediate files in $src_path/$tmplt_pat
h suceeded" >> ${log_file}
#exit 3

fi
elif [ "$1" == "CE" ] && [ $CE_SFTP_STATUS -eq 0 ]
then
cd $src_path/$Case_Extraction_path
tar_fl_nm=CE_SD_IL_INTERM_FL_$(date +"%Y%m%d%H%M%S").tar
tar cvf $tar_fl_nm *.cbl && rm -f ce_*.cbl && rm -f missing_*.cbl && rm -f Ext
ractSDCases_*.cbl && rm -f DOC_NM_*.cbl
tar uvf $tar_fl_nm Log-*.xml && rm -f Log-*.xml
tar uvf $tar_fl_nm ce_*.cbl && rm -f cr_*.cbl
mv *.tar $Archive_path
rc_sts=$?
if [ $rc_sts -ne 0 ]
then
echo "\narchiving and deleteing intermediate files in $src_path/
$Case_Extraction_path Failed .........Please Check log " >> ${log_file}
echo "archiving and deleteing intermediate files Failed in $src
_path/$Case_Extraction_path for script $SCRIPT_NAME " | mailx -s "$script_nam
e: archiving Failed for files in $src_path/$Case_Extraction_path!!!" $MAIL_LIST
else
echo "archiving and deleteing intermediate files in $src_path/$tmplt_pat
h suceeded" >> ${log_file}
#exit 3
fi
elif [ "$1" == "CR" ] && [ $CR_SFTP_STATUS -eq 0 ]
then
cd $src_path/$case_response_path
tar_fl_nm=CR_SD_IL_INTERM_FL_$(date +"%Y%m%d%H%M%S").tar
tar cvf $tar_fl_nm *.txt && rm -f cr_*.txt && rm -f missing_*.txt && rm -f Crea
teSDCases_*.cbl
tar uvf $tar_fl_nm *.cbl && rm -f *.cbl
tar uvf $tar_fl_nm Log-*.xml && rm -f Log-*.xml
mv *.tar $Archive_path
rc_sts=$?
if [ $rc_sts -ne 0 ]
then
echo "\narchiving and deleteing intermediate files in $src_path/
$case_response_path Failed .........Please Check log " >> ${log_file}
echo "archiving and deleteing intermediate files Failed in $src
_path/$case_response_path for script $SCRIPT_NAME " | mailx -s "$script_name:
archiving Failed for files in $src_path/$case_response_path!!!" $MAIL_LIST
else
echo "archiving and deleteing intermediate files in $src_path/$case_resp
onse_path suceeded" >> ${log_file}
#exit 3
fi
else
"echo no parameter passed for archiving intermedate files" >> ${log_file}
fi

exit 0

Das könnte Ihnen auch gefallen