Archived
HEAD- Sync Repo
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# -------------------------------------------------------------------------------------
|
||||
# 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
|
||||
|
||||
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
|
||||
|
||||
if [ ! -f "${CONFLUENCE_BACKUP_ARCHIVE_ROOT}/${CONFLUENCE_BACKUP_ARCHIVE_NAME}.tar.gz" ]; then
|
||||
error "'${CONFLUENCE_BACKUP_ARCHIVE_ROOT}/${CONFLUENCE_BACKUP_ARCHIVE_NAME}.tar.gz' does not exist!"
|
||||
available_backups
|
||||
exit 99
|
||||
fi
|
||||
|
||||
# Setup restore paths
|
||||
CONFLUENCE_RESTORE_ROOT=$(mktemp -d /tmp/confluence.diy-restore.XXXXXX)
|
||||
CONFLUENCE_RESTORE_DB="${CONFLUENCE_RESTORE_ROOT}/confluence-db"
|
||||
CONFLUENCE_RESTORE_HOME="${CONFLUENCE_RESTORE_ROOT}/confluence-home"
|
||||
CONFLUENCE_RESTORE_DATA_STORES="${CONFLUENCE_RESTORE_ROOT}/confluence-data-stores"
|
||||
}
|
||||
|
||||
function restore_archive {
|
||||
check_config_var "CONFLUENCE_BACKUP_ARCHIVE_ROOT"
|
||||
check_var "CONFLUENCE_BACKUP_ARCHIVE_NAME"
|
||||
check_var "CONFLUENCE_RESTORE_ROOT"
|
||||
run tar -xzf "${CONFLUENCE_BACKUP_ARCHIVE_ROOT}/${CONFLUENCE_BACKUP_ARCHIVE_NAME}.tar.gz" -C "${CONFLUENCE_RESTORE_ROOT}"
|
||||
}
|
||||
|
||||
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
|
||||
ls "${CONFLUENCE_BACKUP_ARCHIVE_ROOT}" | sed -e 's/\.tar\.gz$//g'
|
||||
}
|
||||
Reference in New Issue
Block a user