Mercurial > public > ssdt-docker
view scripts/remote-backup-existing.sh @ 516:19605893f948
USASR-5154 list
author | belknapSSDT <zach.belknap@mcoecn.org> |
---|---|
date | Mon, 02 Oct 2023 09:31:26 -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"