#!/bin/bash -e

#
# serviceDataBackup.sh
#
# Script per il backup dell'area dati di servizio
#

# Importa la definizione delle utilities di interesse generale
source $scriptsForBackupLocation/utilities.sh

# Importa la definizione dei messaggi di log
source $scriptsForBackupLocation/logMessages.sh

#
# Parametri
#
# serviceDataAreaPath:
#               path dell'area dati di servizio
# localServiceBufferPath:
#               path del buffer locale di servizio 
# dataBackupName:
#               nome del file per il backup dell'area dati di servizio
# logFileName:  nome del file di log
#

# Controlla che il numero dei parametri sia corretto
checkParams $# 4 "$(dateTime) $msgIncorrectParameterNumber \
                                              <serviceDataAreaPath> \
                                              <localServiceBufferPath> \
                                              <dataBackupName> \
                                              <logFileName>"

# inizializza le variabili mnemoniche per i parametri       
serviceDataAreaPath=$1
localServiceBufferPath=$2
dataBackupName=$3
logFileName=$4


# Traccia l'ingresso nello script
appendToLog "$(dateTime) $msgIntoTheScript" \
            "$localServiceBufferPath/$logFileName"		
            
# effettua il backup dell'area dati di servizio in formato tar nel
# buffer locale
#
# salva la directory corrente sullo stack
pushd . > /dev/null

# setta quale directory corrente quella dell'area dati di servizio
cd $serviceDataAreaPath

# effettua il tar del contenuto dell'area dati di servizio nel file
# di backup
tar -cf $localServiceBufferPath/$dataBackupName .

#ripristina quale directory corrente quella salvata sullo stack
popd > /dev/null
########################################################################

# Traccia l'uscita dallo script
appendToLog "$(dateTime) $msgOutOfTheScript" \
            "$localServiceBufferPath/$logFileName"

exit


