#!/bin/bash
#  $Id: sm_sbc_pre 5.2 2025/08/22 11:18:16 sesam Exp $
#=============================================================================
#            Sesam server side pre backup shell script for Linux clients
#=============================================================================
#
# Description: This procedure is called by Sesam before backup is started;
#              it gives the user a possibility to do some custom action before 
#              backup.
#
#              It is called with the following parameters from the current backup:
#
#        	 $1  = Backup source 
#                $2  = Tape server interface
#                $3  = Task name
#                $4  = Drive number
#                $5  = Type of backup C_opy, F_ull, D_ifferential, I_ncremental
#                $6  = Not used
#                $7  = Saveset ID
#                $8  = Label of used media
#                $9  = Name of mediapool
#                $10 = Schedule
#                $11 = Backup client 
#
#               Returning status:
#                 exit with ='0' if this procedure ran OK
#                 exit with >'0' for error
#
#               Error message can be set using:
#                 echo "STATUS=ERROR MSG=Error in server PRE script" 
#
# >>> This is a user programmable procedure <<<
#
#=============================================================================

sm_echo()
{
   echo `date +"%Y-%m-%d %H:%M:%S"`: "smk-3504: Info:      $1" >&2
}

#=== Print call arguments =====================================
source=$1
tape_server=$2
task=$3
drive_number=$4
backup_type=$5
saveset=$7
label=$8
pool=$9
schedule=${10}
client=${11}

sm_echo "source       = $source"
sm_echo "tape_server  = $tape_server"
sm_echo "task         = $task"
sm_echo "drive_number = $drive_number"
sm_echo "backup_type  = $backup_type"
sm_echo "saveset      = $saveset"
sm_echo "label        = $label"
sm_echo "pool         = $pool"
sm_echo "schedule     = $schedule"
sm_echo "client       = $client"

#=== Please insert your specific actions here=====================================

if [ "$task" == "task-server-pre" ]
then
   echo "STATUS=SUCCESS MSG=PRE script OK"
   exit 0
fi

if [ "$task" == "task-server-pre-error" ]
then
   echo "STATUS=ERROR MSG=Error in server side PRE script"
   exit 2
fi

# Nothing has been done by this script
# Log file from POST script will be removed setting exit code '20'
exit 20
