Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # campaign Aactivation and Notification report genereted path
- #DIR=/usr/local/actrule/report/tenant1
- DIR=/var/tmp/
- OUTPUTDIR=/var/tmp
- #report_confDir=/usr/local/actrule/bin/custo_reports
- report_confDir=/var/tmp
- timestamp=$(date +%Y%m%d%H%M%S)
- #script logs
- LOG=/usr/local/actrule/logs/EEBulkContact.log
- echo -e "\nScript start time: $timestamp" >> $LOG
- LOCK_DIR=/nfsdata/files/my_tmp_mcrh_report_lock
- UPLOAD(){
- username=$(cat $report_confDir/report_conf.txt|grep USERNAME|awk -F "=" '{ print $2 }')
- password=$(cat $report_confDir/report_conf.txt|grep SUDOPASSWORD|awk -F "=" '{ print $2 }')
- ip=$(cat $report_confDir/report_conf.txt|grep IP|awk -F "=" '{ print $2 }')
- if [ ! -z $username ] && [ ! -z $password ] && [ ! -z $ip ]
- then
- echo -e " SFTP login credential has been retrieve from $report_confDir/report_conf.txt " >> $LOG
- echo -e "$password\n" | sudo -S sftp -oIdentityFile=/usr/local/actrule/conf/customer/private_key $username@$ip << END_SCRIPT
- #sftp -oIdentityFile=/usr/local/actrule/conf/customer/private_key eeftp@192.168.0.38 >> $LOG << END_SCRIPT
- cd /reporting/
- mput MCRH_CONTACTS_$CURRENTDATE*
- quit
- END_SCRIPT
- if [ $? -eq 0 ]
- then
- echo -e "Report has been successfully uploaded to SFTP location" >> $LOG
- else
- echo -e "SFTP Login Error" >> $LOG
- /bin/rm -rf $LOCK_DIR
- exit 1
- fi
- else
- echo "SFTP login details are not available in $report_confDir/report_conf.txt " >> $LOG
- /bin/rm -rf $LOCK_DIR
- exit 1
- fi
- }
- # function is written to retrive msisdn from campaign_activation report and replace first two digit "44" by "0"
- campaign_activation_msisdn(){
- rm -rf /var/tmp/removefirsttwodigit.txt
- cd $DIR
- CURRENT_DATE=`date --date="0 day ago" "+%Y-%m-%d"`
- #count variable is used to check the number of campaign_activation report on source dirctory location
- #count=`(ls -lrth grep Notification_details*|grep $CURRENT_DATE|awk -F " " '{ print $9 }'|wc -l)`
- if [ -f $DIR/Notification_details_$CURRENT_DATE*.gz ]
- then
- ls -lrth | grep "Notification_details*"|grep $CURRENT_DATE|tail -1|awk -F " " '{ print $9 }'|while read line
- do
- zcat $line|awk -F ";" '{ print $1","$2","$5","$8 }'|sed 's/^..//'|sed 's/^/0/'
- done > /var/tmp/removefirsttwodigit.txt
- else
- echo "Notification_details report doesnot exist!" >> $LOG
- /bin/rm -rf $LOCK_DIR
- exit 1
- exit
- fi
- sed -i 1d /var/tmp/removefirsttwodigit.txt
- }
- if mkdir $LOCK_DIR; then
- echo "Locking succeeded" >> $LOG
- #function call
- campaign_activation_msisdn
- if [ -s /var/tmp/removefirsttwodigit.txt ]
- then
- #Static Parameters
- NA21=",,,,,,,,,,,,"
- NA22=",,,,,,,"
- NA23=",,,,"
- NA24=",,,,,,,,,,,"
- ATLFLAG="0"
- CONTACTTESTFLAG="0"
- CELLCODE="Target"
- CUSTOMERTYPE="PM"
- CUSTOMERSTATUS="A"
- Brand="EE"
- #Parameters getting from configurable files
- if [ -s $report_confDir/report_conf.txt ]
- then
- SOURCESYSTEMID=$(cat $report_confDir/report_conf.txt|grep SOURCE_SYSTEM_ID|awk -F "=" '{ print $2 }')
- MKTGACTIVITYCODE=$(cat $report_confDir/report_conf.txt|grep MKTG_ACTIVITY_CODE|awk -F "=" '{ print $2 }')
- #codition to check in case report_conf contain any paramater empty !
- if [ -z "$SOURCESYSTEMID" -a "$SOURCESYSTEMID"=" " ]
- then
- SOURCESYSTEMID="SourceSystemId"
- fi
- if [ -z "$MKTGACTIVITYCODE" -a "$MKTGACTIVITYCODE"=" " ]
- then
- MKTGACTIVITYCODE="MktgActivityCode"
- fi
- else
- echo "report_conf file not exist at location $DIR so defult paramater set" >> $LOG
- #default paramater
- SOURCESYSTEMID="SourceSystemId"
- MKTGACTIVITYCODE="MktgActivityCode"
- fi
- MKTGMSGCODEEMAIL=$(cat $report_confDir/report_conf.txt|grep MKTG_MSG_CODE_EMAIL|awk -F "=" '{ print $2 }')
- MKTGMSGCODESMS=$(cat $report_confDir/report_conf.txt|grep MKTG_MSG_CODE_SMS|awk -F "=" '{ print $2 }')
- dos2unix /var/tmp/removefirsttwodigit.txt
- cat /var/tmp/removefirsttwodigit.txt|while read line
- do
- CURRENT_DATE_TIME=`date --date="0 day ago" "+%Y%m%d%H%M%S%s%5N"`
- msidn=$(echo $line | cut -d',' -f1)
- channel=$(echo $line | cut -d',' -f4)
- date=$(echo $line | cut -d',' -f3|sed 's/\-/\//g')
- if [ "$date" != "null" ] && [ "$date" != "NULL" ]
- then
- date1=$(echo $date|awk -F " " '{ print $1 }')
- date2=$(echo $date|awk -F " " '{ print $2 }')
- date3=$(echo $date1|awk -F "/" '{ print $3"/"$2"/"$1}')
- fortmateddate="$date3 $date2"
- else
- fortmateddate=$date
- fi
- if [ "$channel" == "MAIL" ]
- then
- MKTGMSGCODE=$MKTGMSGCODEEMAIL
- elif [ "$channel" == "SMS" ]
- then
- MKTGMSGCODE=$MKTGMSGCODESMS
- else
- MKTGMSGCODE="MktgMsgCode"
- fi
- echo $msidn$NA21$ATLFLAG$NA22$CUSTOMERTYPE","$CUSTOMERSTATUS",,"$fortmateddate$NA23$MKTGACTIVITYCODE","$MKTGMSGCODE","$channel",,"$CELLCODE",,,"$msidn$CURRENT_DATE_TIME$","$CONTACTTESTFLAG","$SOURCESYSTEMID$NA24$Brand",,"
- done > $OUTPUTDIR/OUTPUT21.csv
- CURRENTDATE=`date --date="0 day ago" "+%Y%m%d"`
- REPORTNAME21="MCRH_CONTACTS_"$CURRENTDATE"_"$USER"_Activity"
- #spliting file as per static define count
- cd $OUTPUTDIR
- count=$(wc -l $OUTPUTDIR/OUTPUT21.csv|awk -F " " '{ print $1 }')
- echo $count
- if [ $count > 1000000000 ]
- then
- cat $OUTPUTDIR/OUTPUT21.csv|split -l 1000000000
- #number=$(ls -lrth xa*| wc -l)
- ls -lrth xa*|awk -F " " '{ print $9 }' > tempfilename
- count1=0
- cat tempfilename |while read line
- do
- count1=$((count1 + 1))
- if [ $count1 -le 9 ]
- then
- mv $line $REPORTNAME21"_00"$count1".dat"
- sed -i '1iMSISDN,EMAIL_ADDRESS,COMPANY_NAME,LAST_NAME,FIRST_NAME,TITLE,DATE_OF_BIRTH,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,POSTCODE,ATL_FLAG,ACCOUNT_ID,ACCOUNT_SK,SUBSCRIBER_ID,SUBSCRIBER_SK,NODE_ID,CUSTOMER_SK,CUSTOMER_TYPE,CUSTOMER_STATUS,LIST_DATE,PLANNED_START_DATE,PLANNED_END_DATE,ACTUAL_CONTACT_DATE,EXPIRATION_DATE,MKTG_ACTIVITY_CODE,MKTG_MSG_CODE,CONTACT_CHANNEL_CODE,CREATIVE_CODE,CELL_CODE,VENDOR_CODE,TREATMENT_TAG_CODE,UNIQUE_TRACKING_ID,CONTACT_TEST_FLAG,SOURCE_SYSTEM_ID,CONTACT_PARAMETER_001,CONTACT_PARAMETER_002,CONTACT_PARAMETER_003,CONTACT_PARAMETER_004,CONTACT_PARAMETER_005,CONTACT_PARAMETER_006,CONTACT_PARAMETER_007,CONTACT_PARAMETER_008,CONTACT_PARAMETER_009,CONTACT_PARAMETER_010,BRAND,URN' $REPORTNAME21"_00"$count1".dat"
- elif [ $count1 -le 99 ]
- then
- mv $line $REPORTNAME21"_0"$count1".dat"
- sed -i '1iMSISDN,EMAIL_ADDRESS,COMPANY_NAME,LAST_NAME,FIRST_NAME,TITLE,DATE_OF_BIRTH,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,POSTCODE,ATL_FLAG,ACCOUNT_ID,ACCOUNT_SK,SUBSCRIBER_ID,SUBSCRIBER_SK,NODE_ID,CUSTOMER_SK,CUSTOMER_TYPE,CUSTOMER_STATUS,LIST_DATE,PLANNED_START_DATE,PLANNED_END_DATE,ACTUAL_CONTACT_DATE,EXPIRATION_DATE,MKTG_ACTIVITY_CODE,MKTG_MSG_CODE,CONTACT_CHANNEL_CODE,CREATIVE_CODE,CELL_CODE,VENDOR_CODE,TREATMENT_TAG_CODE,UNIQUE_TRACKING_ID,CONTACT_TEST_FLAG,SOURCE_SYSTEM_ID,CONTACT_PARAMETER_001,CONTACT_PARAMETER_002,CONTACT_PARAMETER_003,CONTACT_PARAMETER_004,CONTACT_PARAMETER_005,CONTACT_PARAMETER_006,CONTACT_PARAMETER_007,CONTACT_PARAMETER_008,CONTACT_PARAMETER_009,CONTACT_PARAMETER_010,BRAND,URN' $REPORTNAME21"_0"$count1".dat"
- else
- mv $line $REPORTNAME21"_"$count1".dat"
- sed -i '1iMSISDN,EMAIL_ADDRESS,COMPANY_NAME,LAST_NAME,FIRST_NAME,TITLE,DATE_OF_BIRTH,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,POSTCODE,ATL_FLAG,ACCOUNT_ID,ACCOUNT_SK,SUBSCRIBER_ID,SUBSCRIBER_SK,NODE_ID,CUSTOMER_SK,CUSTOMER_TYPE,CUSTOMER_STATUS,LIST_DATE,PLANNED_START_DATE,PLANNED_END_DATE,ACTUAL_CONTACT_DATE,EXPIRATION_DATE,MKTG_ACTIVITY_CODE,MKTG_MSG_CODE,CONTACT_CHANNEL_CODE,CREATIVE_CODE,CELL_CODE,VENDOR_CODE,TREATMENT_TAG_CODE,UNIQUE_TRACKING_ID,CONTACT_TEST_FLAG,SOURCE_SYSTEM_ID,CONTACT_PARAMETER_001,CONTACT_PARAMETER_002,CONTACT_PARAMETER_003,CONTACT_PARAMETER_004,CONTACT_PARAMETER_005,CONTACT_PARAMETER_006,CONTACT_PARAMETER_007,CONTACT_PARAMETER_008,CONTACT_PARAMETER_009,CONTACT_PARAMETER_010,BRAND,URN' $REPORTNAME21"_"$count1".dat"
- fi
- done
- else
- mv /var/tmp/OUTPUT21.csv $REPORTNAME21"_001.dat"
- sed -i '1iMSISDN,EMAIL_ADDRESS,COMPANY_NAME,LAST_NAME,FIRST_NAME,TITLE,DATE_OF_BIRTH,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,POSTCODE,ATL_FLAG,ACCOUNT_ID,ACCOUNT_SK,SUBSCRIBER_ID,SUBSCRIBER_SK,NODE_ID,CUSTOMER_SK,CUSTOMER_TYPE,CUSTOMER_STATUS,LIST_DATE,PLANNED_START_DATE,PLANNED_END_DATE,ACTUAL_CONTACT_DATE,EXPIRATION_DATE,MKTG_ACTIVITY_CODE,MKTG_MSG_CODE,CONTACT_CHANNEL_CODE,CREATIVE_CODE,CELL_CODE,VENDOR_CODE,TREATMENT_TAG_CODE,UNIQUE_TRACKING_ID,CONTACT_TEST_FLAG,SOURCE_SYSTEM_ID,CONTACT_PARAMETER_001,CONTACT_PARAMETER_002,CONTACT_PARAMETER_003,CONTACT_PARAMETER_004,CONTACT_PARAMETER_005,CONTACT_PARAMETER_006,CONTACT_PARAMETER_007,CONTACT_PARAMETER_008,CONTACT_PARAMETER_009,CONTACT_PARAMETER_010,BRAND,URN' $REPORTNAME21"_001.dat"
- fi
- rm -rf $OUTPUTDIR/tempfilename
- else
- echo "/var/tmp/removefirsttwodigit.txt file doesnot generated becauese Notification_details not found !" >> $LOG
- bin/rm -rf $LOCK_DIR
- exit 1
- fi
- echo -e "\n Files name : MCRH_CONTACTS_$CURRENTDATE has generated at location $OUTPUTDIR " >> $LOG
- #calling UPLOAD function to upload the file
- echo "\n SFTP file upload function call" >> $LOG
- # calling UPLOAD function to upload the file
- UPLOAD
- /bin/rm -rf $LOCK_DIR
- exit 0
- else
- echo "Lock failed, job already on going"
- exit 132
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement