2022-10-26 15:47:07 -07:00
# -------------------------------------------------------------------------------------
# An archive strategy using Tar and Gzip
# -------------------------------------------------------------------------------------
check_command "tar"
function archive_backup {
check_config_var "CONFLUENCE_BACKUP_ARCHIVE_ROOT"
check_config_var "INSTANCE_NAME"
check_config_var "CONFLUENCE_BACKUP_ROOT"
mkdir -p " ${ CONFLUENCE_BACKUP_ARCHIVE_ROOT } "
CONFLUENCE_BACKUP_ARCHIVE_NAME = " ${ INSTANCE_NAME } - ${ TIMESTAMP } .tar.gz "
run tar -czf " ${ CONFLUENCE_BACKUP_ARCHIVE_ROOT } / ${ CONFLUENCE_BACKUP_ARCHIVE_NAME } " -C " ${ CONFLUENCE_BACKUP_ROOT } " .
}
function prepare_restore_archive {
CONFLUENCE_BACKUP_ARCHIVE_NAME = $1
2022-10-31 08:35:12 -07:00
CONFLUENCE_RESTORE_HOME = ${ CONFLUENCE_BACKUP_ROOT } /${ CONFLUENCE_BACKUP_ARCHIVE_NAME } /CONFLUENCE-home
CONFLUENCE_RESTORE_DB = ${ CONFLUENCE_BACKUP_ROOT } /${ CONFLUENCE_BACKUP_ARCHIVE_NAME } /CONFLUENCE-home
2022-10-26 15:47:07 -07:00
if [ -z " ${ CONFLUENCE_BACKUP_ARCHIVE_NAME } " ] ; then
print " Usage: $0 <backup-snapshot> "
if [ ! -d " ${ CONFLUENCE_BACKUP_ARCHIVE_ROOT } " ] ; then
error " ' ${ CONFLUENCE_BACKUP_ARCHIVE_ROOT } ' does not exist! "
else
available_backups
fi
exit 99
fi
2022-10-31 08:35:12 -07:00
if [ ! -f " ${ CONFLUENCE_RESTORE_HOME } / ${ CONFLUENCE_BACKUP_ARCHIVE_NAME } .tgz " ] ; then
error " ' ${ CONFLUENCE_RESTORE_HOME } / ${ CONFLUENCE_BACKUP_ARCHIVE_NAME } .tgz' does not exist! "
2022-10-26 15:47:07 -07:00
available_backups
exit 99
fi
# Setup restore paths
CONFLUENCE_RESTORE_ROOT = $( mktemp -d /tmp/confluence.diy-restore.XXXXXX)
2022-10-31 08:35:12 -07:00
CONFLUENCE_RESTORE_DB = " ${ CONFLUENCE_RESTORE_ROOT } /archive/CONFLUENCE-db "
CONFLUENCE_RESTORE_HOME = " ${ CONFLUENCE_RESTORE_ROOT } /confluence "
}
function copy_archive_to_tmp {
rsync -ah ${ CONFLUENCE_BACKUP_ROOT } /${ CONFLUENCE_BACKUP_ARCHIVE_NAME } / ${ CONFLUENCE_RESTORE_ROOT } /archive/
2022-10-26 15:47:07 -07:00
}
function restore_archive {
check_config_var "CONFLUENCE_BACKUP_ARCHIVE_ROOT"
check_var "CONFLUENCE_BACKUP_ARCHIVE_NAME"
check_var "CONFLUENCE_RESTORE_ROOT"
2022-10-31 08:35:12 -07:00
run tar --strip-components= 2 -xzf " ${ CONFLUENCE_RESTORE_ROOT } /archive/CONFLUENCE-home/ ${ CONFLUENCE_BACKUP_ARCHIVE_NAME } .tgz " -C " ${ CONFLUENCE_RESTORE_ROOT } "
2022-10-26 15:47:07 -07:00
}
function cleanup_old_archives {
# Cleanup of old backups is not currently implemented
no_op
}
function available_backups {
check_config_var "CONFLUENCE_BACKUP_ARCHIVE_ROOT"
print "Available backups:"
# Drop the .tar.gz extension, to make it a backup identifier
2022-10-31 08:35:12 -07:00
ls " ${ CONFLUENCE_BACKUP_ARCHIVE_ROOT } " | sed -e 's/\.tgz$//g'
2022-10-26 15:47:07 -07:00
}