mirror of
https://github.com/tiredofit/docker-db-backup.git
synced 2025-12-21 21:33:28 +01:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10e7debc65 | ||
|
|
94e9881b7b | ||
|
|
425383639a | ||
|
|
1e46996812 | ||
|
|
e71334564f | ||
|
|
f83f97bf76 | ||
|
|
94a8e45af6 | ||
|
|
9d90e37339 | ||
|
|
085b7cd6ce | ||
|
|
12484bb3f3 | ||
|
|
8fc2721dd4 |
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@@ -8,8 +8,8 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64_arm64.yml@main
|
||||
uses: tiredofit/github_actions/.github/workflows/default_amd64_arm64.yml@main
|
||||
secrets: inherit
|
||||
|
||||
4
.github/workflows/manual.yml
vendored
4
.github/workflows/manual.yml
vendored
@@ -9,8 +9,8 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main
|
||||
#uses: tiredofit/github_actions/.github/workflows/default_amd64_arm64.yml@main
|
||||
uses: tiredofit/github_actions/.github/workflows/default_amd64_arm64.yml@main
|
||||
secrets: inherit
|
||||
|
||||
31
CHANGELOG.md
31
CHANGELOG.md
@@ -1,3 +1,34 @@
|
||||
## 3.9.7 2023-07-18 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Cleanup check_exit_code parameter and reduce duplicate output
|
||||
|
||||
|
||||
## 3.9.6 2023-06-16 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Resolve issues introduced with 3.9.3. Split exit codes to be specific for backing up and moving. Uses paremter $11 for post backup scripts
|
||||
|
||||
|
||||
## 3.9.5 2023-06-13 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Start building Influx DB v1 manually due to being removed from Alpine repositories
|
||||
|
||||
|
||||
## 3.9.4 2023-06-13 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Add abliity to use --rsyncable argument to zstd archives
|
||||
|
||||
|
||||
## 3.9.3 2023-06-05 <dave at tiredofit dot ca>
|
||||
|
||||
### Added
|
||||
- Add notification if blobxfer/s3 upload fails (credit @alwynpan)
|
||||
- Add zip package
|
||||
|
||||
|
||||
## 3.9.2 2023-05-10 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
|
||||
11
Dockerfile
11
Dockerfile
@@ -5,7 +5,8 @@ FROM docker.io/tiredofit/${DISTRO}:${DISTRO_VARIANT}
|
||||
LABEL maintainer="Dave Conroy (github.com/tiredofit)"
|
||||
|
||||
### Set Environment Variables
|
||||
ENV INFLUX2_VERSION=2.4.0 \
|
||||
ENV INFLUX_VERSION=1.8.0 \
|
||||
INFLUX2_VERSION=2.4.0 \
|
||||
MSSQL_VERSION=18.0.1.1-1 \
|
||||
CONTAINER_ENABLE_MESSAGING=FALSE \
|
||||
CONTAINER_ENABLE_MONITORING=TRUE \
|
||||
@@ -22,6 +23,7 @@ RUN source /assets/functions/00-container && \
|
||||
build-base \
|
||||
bzip2-dev \
|
||||
git \
|
||||
go \
|
||||
libarchive-dev \
|
||||
openssl-dev \
|
||||
libffi-dev \
|
||||
@@ -33,7 +35,6 @@ RUN source /assets/functions/00-container && \
|
||||
package install .db-backup-run-deps \
|
||||
aws-cli \
|
||||
bzip2 \
|
||||
influxdb \
|
||||
libarchive \
|
||||
mariadb-client \
|
||||
mariadb-connector-c \
|
||||
@@ -47,6 +48,7 @@ RUN source /assets/functions/00-container && \
|
||||
redis \
|
||||
sqlite \
|
||||
xz \
|
||||
zip \
|
||||
zstd \
|
||||
&& \
|
||||
\
|
||||
@@ -59,7 +61,9 @@ RUN source /assets/functions/00-container && \
|
||||
\
|
||||
if [ $mssql = "true" ] ; then curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_${MSSQL_VERSION}_amd64.apk ; curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/mssql-tools18_${MSSQL_VERSION}_amd64.apk ; echo y | apk add --allow-untrusted msodbcsql18_${MSSQL_VERSION}_amd64.apk mssql-tools18_${MSSQL_VERSION}_amd64.apk ; else echo >&2 "Detected non x86_64 build variant, skipping MSSQL installation" ; fi; \
|
||||
if [ $influx2 = "true" ] ; then curl -sSL https://dl.influxdata.com/influxdb/releases/influxdb2-client-${INFLUX2_VERSION}-linux-${influx_arch}.tar.gz | tar xvfz - --strip=1 -C /usr/src/ ; chmod +x /usr/src/influx ; mv /usr/src/influx /usr/sbin/ ; else echo >&2 "Unable to build Influx 2 on this system" ; fi ; \
|
||||
\
|
||||
clone_git_repo https://github.com/influxdata/influxdb "${INFLUX_VERSION}" && \
|
||||
go build -o /usr/sbin/influxd ./cmd/influxd && \
|
||||
strip /usr/sbin/influxd && \
|
||||
mkdir -p /usr/src/pbzip2 && \
|
||||
curl -sSL https://launchpad.net/pbzip2/1.1/1.1.13/+download/pbzip2-1.1.13.tar.gz | tar xvfz - --strip=1 -C /usr/src/pbzip2 && \
|
||||
cd /usr/src/pbzip2 && \
|
||||
@@ -84,6 +88,7 @@ RUN source /assets/functions/00-container && \
|
||||
/*.apk \
|
||||
/etc/logrotate.d/* \
|
||||
/root/.cache \
|
||||
/root/go \
|
||||
/tmp/* \
|
||||
/usr/src/*
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ Be sure to view the following repositories to understand all the customizable op
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------- | --------------- |
|
||||
| `BACKUP_LOCATION` | Backup to `FILESYSTEM` or `S3` compatible services like S3, Minio, Wasabi | `FILESYSTEM` |
|
||||
| `BACKUP_LOCATION` | Backup to `FILESYSTEM`, `blobxfer` or `S3` compatible services like S3, Minio, Wasabi | `FILESYSTEM` |
|
||||
| `MODE` | `AUTO` mode to use internal scheduling routines or `MANUAL` to simply use this as manual backups only executed by your own means | `AUTO` |
|
||||
| `MANUAL_RUN_FOREVER` | `TRUE` or `FALSE` if you wish to try to make the container exit after the backup | `TRUE` |
|
||||
| `TEMP_LOCATION` | Perform Backups and Compression in this temporary directory | `/tmp/backups/` |
|
||||
@@ -323,17 +323,18 @@ $ cat post-script.sh
|
||||
# #### $8=BACKUP FILENAME (Filename)
|
||||
# #### $9=BACKUP FILESIZE
|
||||
# #### $10=HASH (If CHECKSUM enabled)
|
||||
# #### $11=MOVE_EXIT_CODE
|
||||
|
||||
echo "${1} ${2} Backup Completed on ${3} for ${4} on ${5} ending ${6} for a duration of ${7} seconds. Filename: ${8} Size: ${9} bytes MD5: ${10}"
|
||||
````
|
||||
|
||||
## script EXIT_CODE DB_TYPE DB_HOST DB_NAME STARTEPOCH FINISHEPOCH DURATIONEPOCH BACKUP_FILENAME FILESIZE CHECKSUMVALUE
|
||||
${f} "${exit_code}" "${dbtype}" "${dbhost}" "${dbname}" "${backup_start_timme}" "${backup_finish_time}" "${backup_total_time}" "${target}" "${FILESIZE}" "${checksum_value}"
|
||||
${f} "${exit_code}" "${dbtype}" "${dbhost}" "${dbname}" "${backup_start_timme}" "${backup_finish_time}" "${backup_total_time}" "${target}" "${FILESIZE}" "${checksum_value}" "${move_exit_code}
|
||||
|
||||
|
||||
Outputs the following on the console:
|
||||
|
||||
`0 mysql Backup Completed on example-db for example on 1647370800 ending 1647370920 for a duration of 120 seconds. Filename: mysql_example_example-db_202200315-000000.sql.bz2 Size: 7795 bytes Hash: 952fbaafa30437494fdf3989a662cd40`
|
||||
`0 mysql Backup Completed on example-db for example on 1647370800 ending 1647370920 for a duration of 120 seconds. Filename: mysql_example_example-db_202200315-000000.sql.bz2 Size: 7795 bytes Hash: 952fbaafa30437494fdf3989a662cd40 0`
|
||||
|
||||
If you wish to change the size value from bytes to megabytes set environment variable `SIZE_VALUE=megabytes`
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ services:
|
||||
- ./backups:/backup
|
||||
#- ./post-script.sh:/assets/custom-scripts/post-script.sh
|
||||
environment:
|
||||
- TIMEZONE=America/Vancouver
|
||||
- CONTAINER_ENABLE_MONITORING=FALSE
|
||||
# - DEBUG_MODE=TRUE
|
||||
- DB_TYPE=mariadb
|
||||
- DB_HOST=example-db-host
|
||||
@@ -43,7 +45,7 @@ services:
|
||||
- CHECKSUM=SHA1
|
||||
- COMPRESSION=GZ
|
||||
- SPLIT_DB=FALSE
|
||||
- CONTAINER_ENABLE_MONITORING=FALSE
|
||||
|
||||
restart: always
|
||||
networks:
|
||||
- example-db-network
|
||||
|
||||
@@ -134,9 +134,10 @@ backup_couch() {
|
||||
print_notice "Dumping CouchDB database: '${DB_NAME}' ${compression_string}"
|
||||
curl -sSL -X GET ${DB_HOST}:${DB_PORT}/${DB_NAME}/_all_docs?include_docs=true ${compress_cmd} | $compress_cmd > "${TEMP_LOCATION}"/"${target}"
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup ${DB_NAME}
|
||||
}
|
||||
|
||||
@@ -160,13 +161,14 @@ backup_influx() {
|
||||
print_notice "Dumping Influx database: '${db}'"
|
||||
influxd backup ${influx_compression} ${bucket} -portable -host ${DB_HOST}:${DB_PORT} ${EXTRA_OPTS} "${TEMP_LOCATION}"/"${target_dir}"
|
||||
exit_code=$?
|
||||
check_exit_code $target_dir
|
||||
check_exit_code backup $target_dir
|
||||
print_notice "Creating archive file of '${target_dir}' with tar ${compression_string}"
|
||||
tar cf - "${TEMP_LOCATION}"/"${target_dir}" | $dir_compress_cmd > "${TEMP_LOCATION}"/"${target_dir}".tar"${extension}"
|
||||
target=influx_${db}_${DB_HOST#*//}_${now}.tar${extension}
|
||||
ltarget=influx_${db}_${DB_HOST#*//}
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target_dir
|
||||
post_dbbackup $db
|
||||
done
|
||||
;;
|
||||
@@ -181,12 +183,13 @@ backup_influx() {
|
||||
print_notice "Dumping Influx2 database: '${db}'"
|
||||
influx backup --org ${DB_USER} ${bucket} --host ${DB_HOST}:${DB_PORT} --token ${DB_PASS} ${EXTRA_OPTS} --compression none "${TEMP_LOCATION}"/"${target_dir}"
|
||||
exit_code=$?
|
||||
check_exit_code $target_dir
|
||||
check_exit_code backup $target_dir
|
||||
create_archive
|
||||
target=influx2_${db}_${DB_HOST#*//}_${now}.tar${extension}
|
||||
ltarget=influx2_${db}_${DB_HOST#*//}
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target_dir
|
||||
post_dbbackup $db
|
||||
done
|
||||
;;
|
||||
@@ -213,9 +216,10 @@ backup_mongo() {
|
||||
print_notice "Dumping MongoDB database: '${DB_NAME}' ${compression_string}"
|
||||
silent mongodump --archive=${TEMP_LOCATION}/${target} ${mongo_compression} ${mongo_backup_parameter}
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup "${DB_NAME}"
|
||||
}
|
||||
|
||||
@@ -228,9 +232,10 @@ backup_mssql() {
|
||||
print_notice "Dumping MSSQL database: '${DB_NAME}'"
|
||||
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"
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup $DB_NAME
|
||||
}
|
||||
|
||||
@@ -268,9 +273,10 @@ backup_mysql() {
|
||||
print_notice "Dumping MySQL/MariaDB database: '${db}' ${compression_string}"
|
||||
mysqldump --max-allowed-packet=${MYSQL_MAX_ALLOWED_PACKET} -h ${DB_HOST} -P ${DB_PORT} -u${DB_USER} ${single_transaction} ${stored_procedures} ${mysql_tls_args} ${EXTRA_OPTS} --databases $db | $compress_cmd > "${TEMP_LOCATION}"/"${target}"
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup $db
|
||||
done
|
||||
else
|
||||
@@ -283,9 +289,10 @@ backup_mysql() {
|
||||
print_notice "Dumping all MySQL / MariaDB databases: '$(echo ${db_names} | xargs | tr ' ' ',')' ${compression_string}"
|
||||
mysqldump --max-allowed-packet=${MYSQL_MAX_ALLOWED_PACKET} -h ${DB_HOST} -P ${DB_PORT} -u${DB_USER} ${single_transaction} ${stored_procedures} ${mysql_tls_args} ${EXTRA_OPTS} --databases $(echo ${db_names} | xargs) | $compress_cmd > "${TEMP_LOCATION}"/"${target}"
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup all
|
||||
fi
|
||||
}
|
||||
@@ -319,9 +326,10 @@ backup_pgsql() {
|
||||
print_notice "Dumping PostgresSQL database: '${db}' ${compression_string}"
|
||||
pg_dump -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USER} $db ${EXTRA_OPTS} | $compress_cmd > ${TEMP_LOCATION}/${target}
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup $db
|
||||
done
|
||||
else
|
||||
@@ -342,9 +350,10 @@ backup_pgsql() {
|
||||
done
|
||||
pg_dumpall -h ${DB_HOST} -U ${DB_USER} -p ${DB_PORT} ${pgexclude_arg} ${EXTRA_OPTS} | $compress_cmd > ${TEMP_LOCATION}/${target}
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup all
|
||||
fi
|
||||
}
|
||||
@@ -373,9 +382,10 @@ backup_redis() {
|
||||
compression
|
||||
pre_dbbackup all
|
||||
$compress_cmd "${TEMP_LOCATION}/${target_original}"
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup all
|
||||
}
|
||||
|
||||
@@ -390,10 +400,11 @@ backup_sqlite3() {
|
||||
print_notice "Dumping sqlite3 database: '${DB_HOST}' ${compression_string}"
|
||||
silent sqlite3 "${DB_HOST}" ".backup '${TEMP_LOCATION}/backup.sqlite3'"
|
||||
exit_code=$?
|
||||
check_exit_code $target
|
||||
check_exit_code backup $target
|
||||
cat "${TEMP_LOCATION}"/backup.sqlite3 | ${dir_compress_cmd} > "${TEMP_LOCATION}/${target}"
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
check_exit_code move $target
|
||||
post_dbbackup $db
|
||||
}
|
||||
|
||||
@@ -502,13 +513,28 @@ check_availability() {
|
||||
|
||||
check_exit_code() {
|
||||
print_debug "DB Backup Exit Code is ${exit_code}"
|
||||
case "${exit_code}" in
|
||||
0 )
|
||||
print_info "DB Backup of '${1}' completed successfully"
|
||||
;;
|
||||
* )
|
||||
print_error "DB Backup of '${1}' reported errors"
|
||||
master_exit_code=1
|
||||
case "${1}" in
|
||||
backup )
|
||||
case "${exit_code}" in
|
||||
0 )
|
||||
print_info "DB Backup of '${2}' completed successfully"
|
||||
;;
|
||||
* )
|
||||
print_error "DB Backup of '${2}' reported errors"
|
||||
master_exit_code=1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
move )
|
||||
case "${move_exit_code}" in
|
||||
0 )
|
||||
print_debug "Moving of backup '${2}' completed successfully"
|
||||
;;
|
||||
* )
|
||||
print_error "Moving of backup '${2}' reported errors"
|
||||
master_exit_code=1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -554,15 +580,16 @@ cleanup_old_data() {
|
||||
|
||||
|
||||
compression() {
|
||||
if var_false "${ENABLE_PARALLEL_COMPRESSION}" ; then
|
||||
PARALLEL_COMPRESSION_THREADS=1
|
||||
fi
|
||||
if var_false "${ENABLE_PARALLEL_COMPRESSION}" ; then
|
||||
PARALLEL_COMPRESSION_THREADS=1
|
||||
fi
|
||||
|
||||
case "${COMPRESSION,,}" in
|
||||
if var_true "${GZ_RSYNCABLE}" ; then
|
||||
gz_rsyncable=--rsyncable
|
||||
fi
|
||||
|
||||
case "${COMPRESSION,,}" in
|
||||
gz* )
|
||||
if var_true "${GZ_RSYNCABLE}" ; then
|
||||
gz_rsyncable=--rsyncable
|
||||
fi
|
||||
compress_cmd="pigz -q -${COMPRESSION_LEVEL} -p ${PARALLEL_COMPRESSION_THREADS} ${gz_rsyncable}"
|
||||
compression_type="gzip"
|
||||
extension=".gz"
|
||||
@@ -587,7 +614,7 @@ compression() {
|
||||
target=${target}.xz
|
||||
;;
|
||||
zst* )
|
||||
compress_cmd="zstd -q -q --rm -${COMPRESSION_LEVEL} -T${PARALLEL_COMPRESSION_THREADS} "
|
||||
compress_cmd="zstd -q -q --rm -${COMPRESSION_LEVEL} -T${PARALLEL_COMPRESSION_THREADS} ${gz_rsyncable}"
|
||||
compression_type="zstd"
|
||||
dir_compress_cmd=${compress_cmd}
|
||||
extension=".zst"
|
||||
@@ -682,6 +709,7 @@ move_dbbackup() {
|
||||
mkdir -p "${DB_DUMP_TARGET}"
|
||||
mv "${TEMP_LOCATION}"/*."${checksum_extension}" "${DB_DUMP_TARGET}"/
|
||||
mv "${TEMP_LOCATION}"/"${target}" "${DB_DUMP_TARGET}"/"${target}"
|
||||
move_exit_code=$?
|
||||
if var_true "${CREATE_LATEST_SYMLINK}" ; then
|
||||
ln -sf "${DB_DUMP_TARGET}"/"${target}" "${DB_DUMP_TARGET}"/latest-"${ltarget}"
|
||||
fi
|
||||
@@ -711,6 +739,7 @@ move_dbbackup() {
|
||||
[[ ( -n "${S3_HOST}" ) ]] && PARAM_AWS_ENDPOINT_URL=" --endpoint-url ${S3_PROTOCOL}://${S3_HOST}"
|
||||
|
||||
silent aws ${PARAM_AWS_ENDPOINT_URL} s3 cp ${TEMP_LOCATION}/${target} s3://${S3_BUCKET}/${S3_PATH}/${target} ${s3_ssl} ${s3_ca_cert} ${S3_EXTRA_OPTS}
|
||||
move_exit_code=$?
|
||||
if var_true "${ENABLE_CHECKSUM}" ; then
|
||||
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}
|
||||
fi
|
||||
@@ -726,6 +755,7 @@ move_dbbackup() {
|
||||
mv "${TEMP_LOCATION}"/"${target}" "${DB_DUMP_TARGET}"/"${target}"
|
||||
|
||||
silent blobxfer upload --mode file --remote-path ${BLOBXFER_REMOTE_PATH} --local-path ${DB_DUMP_TARGET}
|
||||
move_exit_code=$?
|
||||
|
||||
rm -rf "${TEMP_LOCATION}"/*."${checksum_extension}"
|
||||
rm -rf "${TEMP_LOCATION}"/"${target}"
|
||||
@@ -802,11 +832,11 @@ post_dbbackup() {
|
||||
### Post Script Support
|
||||
if [ -n "${POST_SCRIPT}" ] ; then
|
||||
if var_true "${POST_SCRIPT_SKIP_X_VERIFY}" ; then
|
||||
eval "${POST_SCRIPT}" "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}"
|
||||
eval "${POST_SCRIPT}" "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}" "${move_exit_code}"
|
||||
else
|
||||
if [ -x "${POST_SCRIPT}" ] ; then
|
||||
print_notice "Found POST_SCRIPT environment variable. Executing '${POST_SCRIPT}"
|
||||
eval "${POST_SCRIPT}" "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}"
|
||||
eval "${POST_SCRIPT}" "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}" "${move_exit_code}"
|
||||
else
|
||||
print_error "Can't execute POST_SCRIPT environment variable '${POST_SCRIPT}' as its filesystem bit is not executible!"
|
||||
fi
|
||||
@@ -823,12 +853,12 @@ post_dbbackup() {
|
||||
if [ -d "${SCRIPT_LOCATION_POST}" ] && dir_notempty "${SCRIPT_LOCATION_POST}" ; then
|
||||
for f in $(find ${SCRIPT_LOCATION_POST} -name \*.sh -type f); do
|
||||
if var_true "${POST_SCRIPT_SKIP_X_VERIFY}" ; then
|
||||
${f} "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}"
|
||||
${f} "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}" "${move_exit_code}"
|
||||
else
|
||||
if [ -x "${f}" ] ; then
|
||||
print_notice "Executing post backup custom script : '${f}'"
|
||||
## script EXIT_CODE DB_TYPE DB_HOST DB_NAME STARTEPOCH FINISHEPOCH DURATIONEPOCH BACKUP_FILENAME FILESIZE CHECKSUMVALUE
|
||||
${f} "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}"
|
||||
${f} "${exit_code}" "${dbtype}" "${DB_HOST}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${filesize}" "${checksum_value}" "${move_exit_code}"
|
||||
else
|
||||
print_error "Can't run post backup custom script: '${f}' as its filesystem bit is not executible!"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user