10年工作经验,专研网站运维。
全部博文(454)
分类: 系统运维
2013-04-17 15:46:41
[root@hostname ~]$ cat Autobackup.sh
#!/bin/bash
###
### The script is auto cold backup EBS service.
### It about need 5 hours.
### Pay attention to run it by penske account
### Current appTier and DBTier is running.
###
# Define variable
penske_home=/d01/penske
date=`date +%Y%m%d%H%M`
PSline=12
psline=12
firsttime=1
lasttime=50
# Stop EBS appTier service
cd $penske_home
source /home/penske/.apps
echo "It's stopping application Tier"
$INST_TOP/admin/scripts/adstpall.sh apps/pass*****>>$penske_home/Autobackup"$date".log 2>&1
sleep 120s
#Judge whether FND* process is end
while [ $PSline -ge 2 ]
do
echo "It's stopping"
sleep 20s
PSline=`ps -ef | grep FND* | wc -l | awk '{print $1}'`
if [ $firsttime -lt $lasttime ];then
echo "Wait twenty second"
else
break;
fi
let "firsttime++"
done
#Kill process of unfinished
echo "FND process can't stop normally. It will be killed immediately"
ps -ef | grep FND* | awk '{print $2}' > /home/penske/FNDpid.txt
for FNDpid in `cat /home/penske/FNDpid.txt`;
do
kill -9 "$FNDpid"
done
echo "It's stopped successful">>$penske_home/Autobackup"$date".log 2>&1
echo -e "Yeah \nIt's ok">>$penske_home/Autobackup"$date".log 2>&1
sleep 20s
rm -rf /home/oracrp/FNDpid.txt
# Preclone
source /home/penske/.ora11g
cd $ORACLE_HOME/appsutil/scripts/PROD_PLASPASHCN13/
perl adpreclone.pl dbTier>>$penske_home/Autobackup"$date".log 2>&1
sleep 300s
source /home/penske/.apps
cd $INST_TOP/admin/scripts/
perl adpreclone.pl appsTier>>$penske_home/Autobackup"$date".log 2>&1
sleep 300s
# Stop EBS dbTier service
source /home/penske/.ora11g
echo "It's stopping Database Tier"
$ORACLE_HOME/appsutil/scripts/PROD_PLASPASHCN13/addlnctl.sh stop prod>>$penske_home/Autobackup"$date".log 2>&1
sleep 60s
$ORACLE_HOME/appsutil/scripts/PROD_PLASPASHCN13/addbctl.sh stop immediate prod>>$penske_home/Autobackup"$date".log 2>&1
sleep 120s
while [ $psline -ge 2 ]
do
echo "It's running, for a moment"
sleep 5s
psline=`ps -ef | grep ora_ | wc -l | awk 'print $1'`
done
echo “It’s backuping ora11g directory”>>$penske_home/Autobackup"$date".log 2>&1
# Cold backup by tar command
tar zcfp /d01/bak_clone_to137/ora11g"$date".tar.gz ./ora11g>>$penske_home/Autobackup"$date".log 2>&1
echo “It’s backuping R12apps directory”>>$penske_home/Autobackup"$date".log 2>&1
tar zcfp /d01/bak_clone_to137/R12apps"$date".tar.gz ./R12apps>>$penske_home/Autobackup"$date".log 2>&1
echo "It's backuping proddata directory">>$penske_home/Autobackup"$date".log 2>&1
tar zcfp /d01/bak_clone_to137/proddata"$date".tar.gz ./proddata>>$penske_home/Autobackup"$date".log 2>&1
echo “It’s completed all backup processing”>>$penske_home/Autobackup"$date".log 2>&1
sleep 30s
# Start EBS service
echo "It's starting Database Tier">>$penske_home/Autobackup"$date".log 2>&1
/d01/penske/ora11g/db/tech_st/11.1.0/appsutil/scripts/PROD_plaspashcn13/addlnctl.sh start prod>>$penske_home/Autobackup"$date".log 2>&1
sleep 100s
/d01/penske/ora11g/db/tech_st/11.1.0/appsutil/scripts/PROD_plaspashcn13/addbctl.sh start prod>>$penske_home/Autobackup"$date".log 2>&1
sleep 160s
source /home/penske/.apps
echo "It's starting application Tier">>$penske_home/Autobackup"$date".log 2>&1
/d01/penske/R12apps/inst/apps/PROD_plaspashcn13/admin/scripts/adstrtal.sh apps/pass****>>Autobackup"$date".log 2>&1
sleep 300s
# Display result information
echo "The EBS service is startup successful">>$penske_home/Autobackup"$date".log 2>&1
echo "The script log message in /d01/penske/Autobackup"$date".log. Please review it"