#!/bin/ksh ################################################################################ # # Backup-Script fuer Offline-Backup # Martin Zahn Tue Jul 25 07:28:20 METDST 1995 # ################################################################################ export PATH ORACLE_SID ORACLE_HOME # ORACLE_SID and ORACLE_HOME for Database "A" ORACLE_SID=A ORACLE_HOME=/oracle7 # Directories to backup LOGDAY=`date +%d.%m.%y` BACKUPDIRS="tmp" BACKUPLOG="$ORACLE_HOME/backuplog/offback_${ORACLE_SID}_${LOGDAY}.log" EXPORTFILE="$ORACLE_HOME/backuplog/flip_${ORACLE_SID}_${LOGDAY}.dmp" # Backup Medium (DAT) DEST="/dev/rmt/0m" echo "============================ START BACKUP LOGGING =============================" >$BACKUPLOG # Check that Database is running if test -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.dbf -o \ -f $ORACLE_HOME/dbs/sgadef${ORACLE_SID}.ora then # Database is running echo "Datenbank $ORACLE_SID ist gestartet" >>$BACKUPLOG else # Database is not running echo "Datenbank $ORACLE_SID nicht gestartet !" >>$BACKUPLOG echo "****** Kein Backup durchgefuehrt ******" >>$BACKUPLOG echo "============================ END BACKUP LOGGING =============================" >>$BACKUPLOG cat $BACKUPLOG | mail root exit 1 fi # Prepare PATH case $PATH in *$ORACLE_HOME/bin*);; *:) PATH=$PATH$ORACLE_HOME/bin;; *) PATH=$PATH:$ORACLE_HOME/bin;; esac # Export Data exp userid=flip/flip file=$EXPORTFILE grants=y indexes=y constraints=y >>$BACKUPLOG 2>&1 gzip $EXPORTFILE # Shutdown the Database su - oracle7 -c $ORACLE_HOME/bin/dbshut >>$BACKUPLOG # Do the Backup cd / echo "Start Backup (compressed data) at `date` on `uname -n`" >>$BACKUPLOG { find $BACKUPDIRS -fsonly hfs -print | cpio -ocvB | gzip > $DEST } 1>>$BACKUPLOG 2>&1 if [ $? = 0 ] then STATUS=0 else STATUS=1 fi case "$STATUS" in 0) # Backup IO # Start Database su - oracle7 -c $ORACLE_HOME/bin/dbstart >>$BACKUPLOG echo "Backup erfolgreich beendet um `date`" >>$BACKUPLOG echo "============================== END BACKUP LOGGING =============================" >>$BACKUPLOG ;; 1) # Backup nicht IO # Start Database su - oracle7 -c $ORACLE_HOME/bin/dbstart >>$BACKUPLOG echo "Backup nicht erfolgreich beendet um `date`" >>$BACKUPLOG echo "============================== END BACKUP LOGGING =============================" >>$BACKUPLOG cat $BACKUPLOG | mail root exit 1 ;; esac exit 0