@@ -175,7 +175,7 @@ backup_mssql() {
175175 compression
176176 pre_dbbackup "${DB_NAME}"
177177 print_notice "Dumping MSSQL database: '${DB_NAME}'"
178- silent /opt/mssql-tools /bin/sqlcmd -E - C -S ${DB_HOST}\,${DB_PORT} -U ${DB_USER} -P ${DB_PASS} – Q "BACKUP DATABASE \ [${DB_NAME}\ ] TO DISK = N'${TEMP_LOCATION}/${target}' WITH NOFORMAT, NOINIT, NAME = '${DB_NAME}-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
178+ silent /opt/mssql-tools18 /bin/sqlcmd -C -S ${DB_HOST}\,${DB_PORT} -U ${DB_USER} -P ${DB_PASS} - Q "BACKUP DATABASE [${DB_NAME}] TO DISK = N'${TEMP_LOCATION}/${target}' WITH NOFORMAT, NOINIT, NAME = '${DB_NAME}-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
179179 exit_code=$?
180180 check_exit_code $target
181181 generate_checksum
@@ -460,22 +460,25 @@ cleanup_old_data() {
460460 if [ -n "${DB_CLEANUP_TIME}" ]; then
461461 if [ "${master_exit_code}" != 1 ]; then
462462 case "${BACKUP_LOCATION,,}" in
463- "file" | "filesystem" )
463+ "file" | "filesystem" | "blobxfer" )
464464 print_info "Cleaning up old backups"
465465 mkdir -p "${DB_DUMP_TARGET}"
466466 find "${DB_DUMP_TARGET}"/ -mmin +"${DB_CLEANUP_TIME}" -iname "*" -exec rm {} \;
467+
468+ print_info "Cleaning up old backups on S3 storage with blobxfer"
469+ blobxfer upload --mode file --remote-path ${BLOBXFER_REMOTE_PATH} --local-path ${DB_DUMP_TARGET} --delete --delete-only
467470 ;;
468471 "s3" | "minio" )
469472 print_info "Cleaning up old backups"
470- aws ${PARAM_AWS_ENDPOINT_URL} s3 ls s3://${S3_BUCKET}/${S3_PATH} ${s3_ssl} ${s3_ca_cert} ${S3_EXTRA_OPTS} | grep " DIR " -v | while read -r s3_file; do
473+ aws ${PARAM_AWS_ENDPOINT_URL} s3 ls s3://${S3_BUCKET}/${S3_PATH} ${s3_ssl} ${s3_ca_cert} ${S3_EXTRA_OPTS} | grep " DIR " -v | grep " PRE " -v | while read -r s3_file; do
471474 s3_createdate=$(echo $s3_file | awk {'print $1" "$2'})
472475 s3_createdate=$(date -d "$s3_createdate" "+%s")
473476 s3_olderthan=$(echo $(( $(date +%s)-${DB_CLEANUP_TIME}*60 )))
474477 if [[ $s3_createdate -le $s3_olderthan ]] ; then
475478 s3_filename=$(echo $s3_file | awk {'print $4'})
476479 if [ "$s3_filename" != "" ] ; then
477480 print_debug "Deleting $s3_filename"
478- silent aws ${PARAM_AWS_ENDPOINT_URL} s3 rm s3://${S3_BUCKET}/${S3_PATH}/ ${s3_filename} ${s3_ssl} ${s3_ca_cert} ${S3_EXTRA_OPTS}
481+ silent aws ${PARAM_AWS_ENDPOINT_URL} s3 rm s3://${S3_BUCKET}/${S3_PATH}${s3_filename} ${s3_ssl} ${s3_ca_cert} ${S3_EXTRA_OPTS}
479482 fi
480483 fi
481484
@@ -639,6 +642,18 @@ move_dbbackup() {
639642 silent aws ${PARAM_AWS_ENDPOINT_URL} s3 cp ${TEMP_LOCATION}/*.${checksum_extension} s3://${S3_BUCKET}/${S3_PATH}/ ${s3_ssl} ${s3_ca_cert} ${S3_EXTRA_OPTS}
640643 fi
641644
645+ rm -rf "${TEMP_LOCATION}"/*."${checksum_extension}"
646+ rm -rf "${TEMP_LOCATION}"/"${target}"
647+ ;;
648+ "blobxfer" )
649+ print_info "Moving backup to S3 Bucket with blobxfer"
650+
651+ mkdir -p "${DB_DUMP_TARGET}"
652+ mv "${TEMP_LOCATION}"/*."${checksum_extension}" "${DB_DUMP_TARGET}"/
653+ mv "${TEMP_LOCATION}"/"${target}" "${DB_DUMP_TARGET}"/"${target}"
654+
655+ blobxfer upload --mode file --remote-path ${BLOBXFER_REMOTE_PATH} --local-path ${DB_DUMP_TARGET}
656+
642657 rm -rf "${TEMP_LOCATION}"/*."${checksum_extension}"
643658 rm -rf "${TEMP_LOCATION}"/"${target}"
644659 ;;
0 commit comments