$ cat initiate
#!/bin/bash
cleanup()
{
rm -fr dumpdir
mkdir dumpdir
rm -fr expdone
mkdir expdone
rm -fr impdone
mkdir impdone
rm -fr explock
mkdir explock
rm -fr implock
mkdir implock
rm -fr explog
mkdir explog
rm -fr implog
mkdir implog
rm -fr expproglog
mkdir expproglog
rm -fr impproglog
mkdir impproglog
}
createproc()
{
i=1
while [ $i -le $pid ]
do
./export $i > ${PWD}/expproglog/export_$i.log &
echo " Export started with process id $i"
sleep 2
./import $i > ${PWD}/impproglog/import_$i.log &
echo " Import started with process id $i"
sleep 2
i=$((i+1))
done
}
echo "Enter number of export & import process to start.. "
read pid
echo "Doing cleanup of dump and log directories.."
cleanup
sleep 2
echo "Cleanup done.."
createproc
echo " Export and import process started, Check the log for progress"
$cat export
#!/bin/bash
export()
{
tablelist=`cat tablelist`
j=`wc -l tablelist | awk ' { print $1 } '`
exec 3
while [ $j -gt 0 ]
do
read <&3 tableiden
table=`echo $tableiden | awk ' { print $1 } '`
iden=`echo $tableiden | awk ' { print $2 } '`
if [ -e "${PWD}/expdone/expdone.${table}" ] ; then
SKIP=Y
elif [ -e "${PWD}/explock/explock.${table}" ] ; then
SKIP=Y
else
SKIP=N
fi
if [ "$SKIP" = "N" ] ; then
touch ${PWD}/explock/explock.${table}
dateecho "About to start export of table $table.."
exp user1/user1@prod1 file=${PWD}/dumpdir/exp_$table.dmp log=${PWD}/explog/exp_$table.log tables=$table > /dev/null 2>&1
sleep 2
touch ${PWD}/expdone/expdone.${table}
rm -f ${PWD}/explock/explock.${table}
dateecho "completed export of table $table.."
fi
SKIP=N
j=$((j-1))
done
}
function dateecho
{
datevar=`date '+%Y/%m/%d %H:%M:%S'`
echo "$datevar $*"
}
proc=$1
dateecho "Export process started with id $1.."
while [ 1 ]
do
count=`wc -l tablelist | awk ' { print $1 } '`
counttask=`ls -ltr ${PWD}/expdone | grep -v total | wc -l`
if [ $count != $counttask ] ; then
export
else
dateecho "Export process $proc completed successfully.."
exit 1
fi
done
$ cat import
#!/bin/bash
import()
{
tablelist=`cat tablelist`
j=`wc -l tablelist | awk ' { print $1 } '`
exec 3
while [ $j -gt 0 ]
do
read <&3 tableiden
table=`echo $tableiden | awk ' { print $1 } '`
iden=`echo $tableiden | awk ' { print $2 } '`
if [ -e "${PWD}/expdone/expdone.${table}" ] ; then
if [ -e "${PWD}/impdone/impdone.${table}" ] ; then
SKIP=Y
elif [ -e "${PWD}/implock/implock.${table}" ] ; then
SKIP=Y
else
SKIP=N
fi
else
SKIP=Y
fi
if [ "$SKIP" = "N" ] ; then
touch ${PWD}/implock/implock.${table}
dateecho "About to start import of table $table.."
imp user2/user2@prod2 file=${PWD}/dumpdir/exp_$table.dmp log=${PWD}/implog/imp_$table.log full=y > /dev/null 2>&1
sleep 2
touch ${PWD}/impdone/impdone.${table}
rm -f ${PWD}/implock/implock.${table}
dateecho "Completed import of table $table.."
fi
SKIP=N
j=$((j-1))
done
}
function dateecho
{
datevar=`date '+%Y/%m/%d %H:%M:%S'`
echo "$datevar $*"
}
proc=$1
dateecho "Import process started with id $1.."
while [ 1 ]
do
count=`wc -l tablelist | awk ' { print $1 } '`
counttask=`ls -ltr ${PWD}/impdone | grep -v total | wc -l`
if [ $count != $counttask ] ; then
import
else
dateecho "Import process $proc completed successfully.."
exit 1
fi
done
No comments:
Post a Comment