mirror of
https://github.com/tiredofit/docker-db-backup.git
synced 2025-12-21 21:33:28 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f58cfd284 | ||
|
|
2d01f5e692 | ||
|
|
dbd0a03b0d | ||
|
|
6527f4ff63 | ||
|
|
d843d21a1b |
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,3 +1,17 @@
|
||||
## 3.1.3 2022-03-30 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Fix for MariaDB not sending database name to post script
|
||||
- Check for executible bit on post scripts both via environment variable and /assets/custom
|
||||
- SPLIT_DB defaulted to TRUE
|
||||
|
||||
|
||||
## 3.1.2 2022-03-29 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
- Fix for blank Notice when individual backup is completed (time taken)
|
||||
|
||||
|
||||
## 3.1.1 2022-03-28 <dave at tiredofit dot ca>
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -18,7 +18,7 @@ PARALLEL_COMPRESSION_THREADS=${PARALLEL_COMPRESSION_THREADS:-"$(nproc)"}
|
||||
S3_CERT_SKIP_VERIFY=${S3_CERT_SKIP_VERIFY:-"TRUE"}
|
||||
S3_PROTOCOL=${S3_PROTOCOL:-"https"}
|
||||
SIZE_VALUE=${SIZE_VALUE:-"bytes"}
|
||||
SPLIT_DB=${SPLIT_DB:-"FALSE"}
|
||||
SPLIT_DB=${SPLIT_DB:-"TRUE"}
|
||||
TEMP_LOCATION=${TEMP_LOCATION:-"/tmp/backups"}
|
||||
dbhost=${DB_HOST}
|
||||
dbname=${DB_NAME}
|
||||
|
||||
@@ -86,7 +86,7 @@ backup_couch() {
|
||||
check_exit_code $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup $dbname
|
||||
}
|
||||
|
||||
backup_influx() {
|
||||
@@ -106,7 +106,7 @@ backup_influx() {
|
||||
check_exit_code $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup $db
|
||||
done
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ backup_mssql() {
|
||||
check_exit_code $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup $dbname
|
||||
}
|
||||
|
||||
backup_mysql() {
|
||||
@@ -176,7 +176,7 @@ backup_mysql() {
|
||||
check_exit_code $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup $db
|
||||
done
|
||||
else
|
||||
print_debug "Not splitting database dumps into their own files"
|
||||
@@ -189,7 +189,7 @@ backup_mysql() {
|
||||
check_exit_code $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup all
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -223,7 +223,7 @@ backup_pgsql() {
|
||||
check_exit_code $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup $db
|
||||
done
|
||||
else
|
||||
print_debug "Not splitting database dumps into their own files"
|
||||
@@ -244,14 +244,14 @@ backup_pgsql() {
|
||||
check_exit_code $target
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup all
|
||||
fi
|
||||
}
|
||||
|
||||
backup_redis() {
|
||||
pre_dbbackup
|
||||
print_notice "Dumping Redis - Flushing Redis Cache First"
|
||||
target=redis_${db}_${dbhost}_${now}.rdb
|
||||
target=redis_all_${dbhost}_${now}.rdb
|
||||
echo bgsave | redis-cli -h ${dbhost} -p ${dbport} ${REDIS_PASS_STR} --rdb ${TEMP_LOCATION}/${target} ${EXTRA_OPTS}
|
||||
sleep 10
|
||||
try=5
|
||||
@@ -271,7 +271,7 @@ backup_redis() {
|
||||
$compress_cmd "${TEMP_LOCATION}/${target_original}"
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup all
|
||||
}
|
||||
|
||||
backup_sqlite3() {
|
||||
@@ -287,7 +287,7 @@ backup_sqlite3() {
|
||||
cat "${TEMP_LOCATION}"/backup.sqlite3 | $compress_cmd > "${TEMP_LOCATION}/${target}"
|
||||
generate_checksum
|
||||
move_dbbackup
|
||||
post_dbbackup
|
||||
post_dbbackup $db
|
||||
}
|
||||
|
||||
check_availability() {
|
||||
@@ -543,21 +543,28 @@ post_dbbackup() {
|
||||
|
||||
### Post Script Support
|
||||
if [ -n "${POST_SCRIPT}" ] ; then
|
||||
print_notice "Found POST_SCRIPT environment variable. Executing '${POST_SCRIPT}"
|
||||
eval "${POST_SCRIPT}" "${exit_code}" "${dbtype}" "${dbhost}" "${dbname}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${FILESIZE}" "${checksum_value}"
|
||||
if [ -x "${POST_SCRIPT}" ] ; then
|
||||
print_notice "Found POST_SCRIPT environment variable. Executing '${POST_SCRIPT}"
|
||||
eval "${POST_SCRIPT}" "${exit_code}" "${dbtype}" "${dbhost}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${FILESIZE}" "${checksum_value}"
|
||||
else
|
||||
print_error "Can't execute POST_SCRIPT environment variable '${POST_SCRIPT}' as its filesystem bit is not executible!"
|
||||
fi
|
||||
fi
|
||||
|
||||
### Post Backup Custom Script Support
|
||||
if [ -d "/assets/custom-scripts/" ] ; then
|
||||
print_notice "Found Post Backup Custom Script to execute"
|
||||
for f in $(find /assets/custom-scripts/ -name \*.sh -type f); do
|
||||
print_notice "Running Script: '${f}'"
|
||||
## script EXIT_CODE DB_TYPE DB_HOST DB_NAME STARTEPOCH FINISHEPOCH DURATIONEPOCH BACKUP_FILENAME FILESIZE CHECKSUMVALUE
|
||||
${f} "${exit_code}" "${dbtype}" "${dbhost}" "${dbname}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${FILESIZE}" "${checksum_value}"
|
||||
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}" "${dbhost}" "${1}" "${dbbackup_start_time}" "${dbbackup_finish_time}" "${dbbackup_total_time}" "${target}" "${FILESIZE}" "${checksum_value}"
|
||||
else
|
||||
print_error "Can't run post backup custom script: '${f}' as its filesystem bit is not executible!"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
print_notice "DB Backup for '${db}' time taken: $(echo ${dbbackup_total_time} | awk '{printf "Hours: %d Minutes: %02d Seconds: %02d", $1/3600, ($1/60)%60, $1%60}')"
|
||||
print_notice "DB Backup for '${1}' time taken: $(echo ${dbbackup_total_time} | awk '{printf "Hours: %d Minutes: %02d Seconds: %02d", $1/3600, ($1/60)%60, $1%60}')"
|
||||
}
|
||||
|
||||
sanity_test() {
|
||||
|
||||
Reference in New Issue
Block a user