view scripts/remote-backup-existing.sh @ 591:9f77e0438846 production

Added tag v2.20.0 for changeset 80f3564f2553
author Marc Davis <marc.davis@mcoecn.org>
date Thu, 05 Sep 2024 15:01:40 -0400
parents dfae5707657d
children
line wrap: on
line source
#!/bin/bash
# This is similar to the remote backup script except it uses an existing database backup
# MCOECN personnel used the basic script and modified it 
# The current directory is expected to contain a project configured
# as with SSDT conventions for an application database.
#
# The file will also be placed on the specified remote target
# The format of the output is a compressed pg_dump (sql) format.
#  Still needs tweaking
#  
# testing changes additional
# This will send both usasdb and uspsdb,
# along with the top level contents of the project directory
#Environment variables can be used for REMOTE_BACKUP_TARGET and REMOTE_USERNAME
remoteTarget=${1:-$REMOTE_BACKUP_TARGET}
userName=${2:-$REMOTE_USERNAME}
projectDir=${3:-$PWD}

cd $projectDir

source "${SSDT_SCRIPTS:-$(dirname "${BASH_SOURCE[0]}")}/.functions.sh"

set -o pipefail

project=$(composeGetProject)

#If the project is empty, we want to stop the process because this is being run                                                                                                                      from the wrong directory

if [ "$project" == "" ]; then

   echo "no project available"

   exit 1

fi

echo "project is $project"
echo "Remote target is $remoteTarget"
echo "Username is $userName"


backupFile1=$(ls ./backup/*usasdb*.backup.gz | tail -n 1)
backupFile2=$(ls ./backup/*uspsdb*.backup.gz | tail -n 1)


#Create remote directory before scp
host=`echo $userName@$remoteTarget | sed -e 's/:.*//'`

target=`echo $remoteTarget | sed -e 's/.*://'`


ssh $host mkdir -p $target/$project

#SCP files
#
scp ${backupFile1}  ${backupFile2}  $userName@$remoteTarget/$project

echo " "

echo "completed sending ${backupFile1} and ${backupFile2} to ${remoteTarget}/${project} as user $userName"