NBU For Sybase scrips

    技术2026-01-21  4

    #!/bin/sh

    # sybase_mydb_backup $Revision: 1.3 $

    #bcpyrght

    #***************************************************************************

    #* $VRTScprght: Copyright 1993 - 2007 Symantec Corporation, All Rights Reserved $ *

    #***************************************************************************

    #ecpyrght

     

    #***************************************************************************

    # Replace /usr/sybase12 below with the actual Sybase home directory 

    #***************************************************************************

    SYBASE=/export/home/sybase-prog

     

    #***************************************************************************

    # Replace SYBASE12 below with the actual name of the SQL Server

    #***************************************************************************

    SYBSERVER=TFHDB

     

    #***************************************************************************

    # Replace SYB_DB below with the actual name of your Sybase database

    #***************************************************************************

    DATABASE_NAME=test

     

    #***************************************************************************

    # Replace syb_files below with your actual name of the NetBackup 

    # server Policy to be used to backup the directory with Sybase script files

    #***************************************************************************

    SYB_FILES_POLICY=syb_files 

     

    #***************************************************************************

    # Replace /usr/sybase12/scripts below with your actual path of the Sybase files 

    #***************************************************************************

    SYB_FILES_DIR=/usr/sybase12/scripts

     

    #***************************************************************************

    # Determine the SYBASE_ASE and SYBASE_OCS env variables for Sybase 12.x

    #***************************************************************************

    OCS_QUAL=

    if [ -f "${SYBASE}"/SYBASE.csh ] ; then

            SYBASE_ASE=`grep "setenv SYBASE_ASE" "${SYBASE}"/SYBASE.csh | cut -f3 -d" " | sort -u | head -1`

            SYBASE_OCS=`grep "setenv SYBASE_OCS" "${SYBASE}"/SYBASE.csh | cut -f3 -d" " | sort -u | head -1`

            export SYBASE_ASE

            export SYBASE_OCS

            OCS_QUAL=/$SYBASE_OCS

    elif [ -f "${SYBASE}"/SYBASE.sh ] ; then

            SYBASE_ASE=`grep "SYBASE_ASE=" "${SYBASE}"/SYBASE.sh | cut -f2 -d"=" | sort -u | head -1`

            SYBASE_OCS=`grep "SYBASE_OCS=" "${SYBASE}"/SYBASE.sh | cut -f2 -d"=" | sort -u | head -1`

            export SYBASE_ASE

            export SYBASE_OCS

            OCS_QUAL=/$SYBASE_OCS

    fi

     

    echo "Started `date`"

    SYBASE=$SYBASE; export SYBASE

    # These environment variables are set by NetBackup 

    echo "SYBACKUP_SERVER = $SYBACKUP_SERVER"

    echo "SYBACKUP_POLICY = $SYBACKUP_POLICY"

    echo "SYBACKUP_SCHED = $SYBACKUP_SCHED"

    echo "SYBACKUP_CLIENT = $SYBACKUP_CLIENT"

    echo "SYBACKUP_SCHEDULED = $SYBACKUP_SCHEDULED"

    echo "SYBACKUP_USER_INITIATED = $SYBACKUP_USER_INITIATED"

     

    RETURN_STATUS=0

     

    #***************************************************************************

    # Replace "database_dump" below with your actual NetBackup schedule name

    # which is used for a full backup of the Sybase database.

    #***************************************************************************

    if [ "${SYBACKUP_SCHED}" = "NBU_Sybase_backup" ]

    then

    ############# NetBackup has started a "database_dump" backup ##############

    DUMP_TYPE=DATABASE

     

    else

    ############# NetBackup has started a "transaction log" backup ##############

    DUMP_TYPE=TRANSACTION

    fi

     

    #***************************************************************************

    # Replace "Default-Application-Backup" below with your actual NetBackup 

    # Application Backup type schedule name for the Sybase database. 

    #***************************************************************************

    echo dump $DUMP_TYPE $DATABASE_NAME to /"sybackup::-SERV $SYBACKUP_SERVER -CLIENT $SYBACKUP_CLIENT -POL $SYBACKUP_POLICY -SCHED Default-Application-Backup/" > ./syb_${DATABASE_NAME}_dump

     

    #**************************************************************************

    # Remove the '#' from the beginning of the line below if you are going to

    # use multiple stripes for the backup. Repeat this line for each stripe.

    # Replace "Default-Application-Backup" below with your actual NetBackup

    # Application Backup type schedule name for the Sybase database.

    # **************************************************************************

    # echo stripe on /"sybackup::-SERV $SYBACKUP_SERVER -CLIENT $SYBACKUP_CLIENT -POL $SYBACKUP_POLICY -SCHED Default-Application-Backup/" >> ./syb_${DATABASE_NAME}_dump 

     

    echo go >> ./syb_${DATABASE_NAME}_dump

     

    #***************************************************************************

    # Log the isql command. This line may appear in NetBackup log files.

    # Do NOT replace "xxxxxxxx" with a user id or password.

    #***************************************************************************

    echo "$SYBASE$OCS_QUAL/bin/isql -Uxxxxxxxx -Pxxxxxxxx -I$SYBASE/interfaces -S$SYBSERVER < ./syb_${DATABASE_NAME}_dump"

     

    #***************************************************************************

    # Replace "sa" with your Sybase server Administrator's login name.

    # Replace "manager" with your Sybase server Administrator's password.

    #***************************************************************************

    $SYBASE$OCS_QUAL/bin/isql -Uzyk -Pz19680923 -I$SYBASE/interfaces -S$SYBSERVER < ./syb_${DATABASE_NAME}_dump

    RETURN_STATUS=$?

     

    if [ "${DUMP_TYPE}" = "DATABASE" ]

    then

    # Initiate a backup of any file related to the Sybase database, such as script files.

     

    echo "bpbackup -c $SYB_FILES_POLICY $SYB_FILES_DIR"

    /usr/openv/netbackup/bin/bpbackup -c $SYB_FILES_POLICY $SYB_FILES_DIR

    BPBACKUP_STATUS=$?

     

    if [ "$BPBACKUP_STATUS" -ne 0 ]

    then

    echo ""

    echo "bpbackup of $SYB_FILES_DIR returned $BPBACKUP_STATUS"

    fi

    fi

     

     

    echo "Finished `date`"

     

    echo "exit $RETURN_STATUS"

    echo ""

     

    exit $RETURN_STATUS

    最新回复(0)