Skip to main content

Oracle Export Cleaner (Example Script)

Regular database exports can be monitored and cleaned regularly while keeping desired number of successful exports with this linux script. There are two files, one is config file that containing schema names and corresponding schema export path, the other one  is export cleaner script.

app.config file contents:
schema1_name,schema1_export_path
schema2_name,schema2_export_path

export cleaner script:
#!/bin/bash

rm -f /tmp/cleaner.txt

today="$(date +%d%m%Y)"
echo "${today} Oracle Export Cleaner Log\n\n" >> /tmp/cleaner.txt
echo "———-${today} Export Logs———" >> /root/scripts/export_cleaner.log

cat /root/scripts/app.config | while read line
do
schema=${line%,*}
path=${line#*,}
jobname="${schema}_expdp_${today}"
filename="${jobname}.dmp"
logname="${jobname}.log"

cd ${path}

if [ ! -f "${logname}" ]
then
echo "$schema $logname does not exists" >> /root/scripts/export_cleaner.log
echo "$schema $logname does not exists\n\n" >> /tmp/cleaner.txt
else
is_job_completed=$(tail -1 $logname |grep "successfully completed")
if [ "$is_job_completed" == "" ];
then
echo "$schema $logname unsuccessfull" >> /root/scripts/export_cleaner.log
echo "$schema $logname unsuccessfull\n\n" >> /tmp/cleaner.txt
else
echo "$schema $logname successfull" >> /root/scripts/export_cleaner.log
echo "$schema $logname successfull\n\n" >> /tmp/cleaner.txt
ls -t ${schema}_expdp*.log | awk 'NR>2' | xargs rm >> /root/scripts/export_cleaner.log
ls -t ${schema}_expdp*.dmp | awk 'NR>2' | xargs rm >> /root/scripts/export_cleaner.log
fi
fi
done
mailtext=$(cat /tmp/cleaner.txt)
echo -e $mailtext | mail -s "export cleaner" mail@example.com

Comments

Popular posts from this blog

Find and replace with sed command in Linux

Find and replace feature is always handy. It can turn into a torture when it comes to change or delete a simple constant string in a text file. There is a handy tool in linux for doing these kind of tihngs. Actually sed is not a text editor but it is used outside of the text file to make changes.