mirror of
https://github.com/tiredofit/docker-db-backup.git
synced 2025-12-22 13:44:08 +01:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
108938c17a | ||
|
|
b0b39fa8c1 | ||
|
|
fa8f43132c | ||
|
|
3f693feefc |
24
CHANGELOG.md
24
CHANGELOG.md
@@ -1,3 +1,27 @@
|
|||||||
|
## 3.0.12 2022-03-21 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Throw Errors for MANUAL mode when certain other CONTAINER_* services are enabled
|
||||||
|
|
||||||
|
|
||||||
|
## 3.0.11 2022-03-21 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Fix for Parallel Compression
|
||||||
|
|
||||||
|
|
||||||
|
## 3.0.10 2022-03-21 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Fix for restore script not taking "custom" usernames or passwords
|
||||||
|
|
||||||
|
|
||||||
|
## 3.0.9 2022-03-21 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Switch to using parallel versions of compression tools all the time, yet explicitly state the threads in use (1 or ++)
|
||||||
|
|
||||||
|
|
||||||
## 3.0.8 2022-03-21 <dave at tiredofit dot ca>
|
## 3.0.8 2022-03-21 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ Be sure to view the following repositories to understand all the customizable op
|
|||||||
#### Container Options
|
#### Container Options
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Parameter | Description | Default |
|
||||||
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------- | --------------- |
|
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------- | --------------- |
|
||||||
| `BACKUP_LOCATION` | Backup to `FILESYSTEM` or `S3` compatible services like S3, Minio, Wasabi | `FILESYSTEM` |
|
| `BACKUP_LOCATION` | Backup to `FILESYSTEM` 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` |
|
| `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` |
|
| `MANUAL_RUN_FOREVER` | `TRUE` or `FALSE` if you wish to try to make the container exit after the backup | `TRUE` |
|
||||||
@@ -153,7 +153,7 @@ Be sure to view the following repositories to understand all the customizable op
|
|||||||
- You may need to wrap your `DB_DUMP_BEGIN` value in quotes for it to properly parse. There have been reports of backups that start with a `0` get converted into a different format which will not allow the timer to start at the correct time.
|
- You may need to wrap your `DB_DUMP_BEGIN` value in quotes for it to properly parse. There have been reports of backups that start with a `0` get converted into a different format which will not allow the timer to start at the correct time.
|
||||||
### Backup Options
|
### Backup Options
|
||||||
| Parameter | Description | Default |
|
| Parameter | Description | Default |
|
||||||
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------- |
|
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
||||||
| `COMPRESSION` | Use either Gzip `GZ`, Bzip2 `BZ`, XZip `XZ`, ZSTD `ZSTD` or none `NONE` | `GZ` |
|
| `COMPRESSION` | Use either Gzip `GZ`, Bzip2 `BZ`, XZip `XZ`, ZSTD `ZSTD` or none `NONE` | `GZ` |
|
||||||
| `COMPRESSION_LEVEL` | Numberical value of what level of compression to use, most allow `1` to `9` except for `ZSTD` which allows for `1` to `19` - | `3` |
|
| `COMPRESSION_LEVEL` | Numberical value of what level of compression to use, most allow `1` to `9` except for `ZSTD` which allows for `1` to `19` - | `3` |
|
||||||
| `ENABLE_PARALLEL_COMPRESSION` | Use multiple cores when compressing backups `TRUE` or `FALSE` | `TRUE` |
|
| `ENABLE_PARALLEL_COMPRESSION` | Use multiple cores when compressing backups `TRUE` or `FALSE` | `TRUE` |
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ DB_DUMP_BEGIN=${DB_DUMP_BEGIN:-+0}
|
|||||||
DB_DUMP_FREQ=${DB_DUMP_FREQ:-1440}
|
DB_DUMP_FREQ=${DB_DUMP_FREQ:-1440}
|
||||||
DB_DUMP_TARGET=${DB_DUMP_TARGET:-"/backup"}
|
DB_DUMP_TARGET=${DB_DUMP_TARGET:-"/backup"}
|
||||||
ENABLE_CHECKSUM=${ENABLE_CHECKSUM:-"TRUE"}
|
ENABLE_CHECKSUM=${ENABLE_CHECKSUM:-"TRUE"}
|
||||||
ENABLE_PARALLEL_COMPRESSION=${ENABLE_PARALLEL_COMPRESSION}:-"TRUE"}
|
ENABLE_PARALLEL_COMPRESSION=${ENABLE_PARALLEL_COMPRESSION:-"TRUE"}
|
||||||
MANUAL_RUN_FOREVER=${MANUAL_RUN_FOREVER:-"TRUE"}
|
MANUAL_RUN_FOREVER=${MANUAL_RUN_FOREVER:-"TRUE"}
|
||||||
MODE=${MODE:-"AUTO"}
|
MODE=${MODE:-"AUTO"}
|
||||||
MYSQL_MAX_ALLOWED_PACKET=${MYSQL_MAX_ALLOWED_PACKET:-"512M"}
|
MYSQL_MAX_ALLOWED_PACKET=${MYSQL_MAX_ALLOWED_PACKET:-"512M"}
|
||||||
|
|||||||
@@ -3,15 +3,17 @@
|
|||||||
bootstrap_compression() {
|
bootstrap_compression() {
|
||||||
### Set Compression Options
|
### Set Compression Options
|
||||||
if var_true "${ENABLE_PARALLEL_COMPRESSION}" ; then
|
if var_true "${ENABLE_PARALLEL_COMPRESSION}" ; then
|
||||||
bzip="pbzip2 -${COMPRESSION_LEVEL} -p${PARALLEL_COMPRESSION_THREADS}"
|
print_debug "Utilizing '${PARALLEL_COMPRESSION_THREADS}' compression threads"
|
||||||
|
bzip="pbzip2 -${COMPRESSION_LEVEL} -p ${PARALLEL_COMPRESSION_THREADS}"
|
||||||
gzip="pigz -${COMPRESSION_LEVEL} -p ${PARALLEL_COMPRESSION_THREADS}"
|
gzip="pigz -${COMPRESSION_LEVEL} -p ${PARALLEL_COMPRESSION_THREADS}"
|
||||||
xzip="pixz -${COMPRESSION_LEVEL} -p ${PARALLEL_COMPRESSION_THREADS}"
|
xzip="pixz -${COMPRESSION_LEVEL} -p ${PARALLEL_COMPRESSION_THREADS}"
|
||||||
zstd="zstd --rm -${COMPRESSION_LEVEL} -T${PARALLEL_COMPRESSION_THREADS}"
|
zstd="zstd --rm -${COMPRESSION_LEVEL} -T${PARALLEL_COMPRESSION_THREADS}"
|
||||||
else
|
else
|
||||||
bzip="bzip2 -${COMPRESSION_LEVEL}"
|
print_debug "Utilizing single compression thread"
|
||||||
gzip="gzip -${COMPRESSION_LEVEL}"
|
bzip="pbzip2 -${COMPRESSION_LEVEL} -p 1"
|
||||||
xzip="xz -${COMPRESSION_LEVEL} "
|
gzip="pigz -${COMPRESSION_LEVEL} -p 1"
|
||||||
zstd="zstd --rm -${COMPRESSION_LEVEL}"
|
xzip="pixz -${COMPRESSION_LEVEL} -p 1"
|
||||||
|
zstd="zstd --rm -${COMPRESSION_LEVEL} -T1"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -458,7 +460,7 @@ setup_mode() {
|
|||||||
if [ "${MODE,,}" = "auto" ] || [ ${MODE,,} = "default" ] ; then
|
if [ "${MODE,,}" = "auto" ] || [ ${MODE,,} = "default" ] ; then
|
||||||
print_debug "Running in Auto / Default Mode - Letting Image control scheduling"
|
print_debug "Running in Auto / Default Mode - Letting Image control scheduling"
|
||||||
else
|
else
|
||||||
print_info "Running in Manual mode - Execute 'backup_now' to run a manual backup"
|
print_info "Running in Manual mode - Execute 'backup_now' or '/etc/services.available/10-db-backup/run' to perform a manual backup"
|
||||||
service_stop 10-db-backup
|
service_stop 10-db-backup
|
||||||
if var_true "${MANUAL_RUN_FOREVER}" ; then
|
if var_true "${MANUAL_RUN_FOREVER}" ; then
|
||||||
mkdir -p /etc/services.d/99-run_forever
|
mkdir -p /etc/services.d/99-run_forever
|
||||||
@@ -470,6 +472,19 @@ do
|
|||||||
done
|
done
|
||||||
EOF
|
EOF
|
||||||
chmod +x /etc/services.d/99-run_forever/run
|
chmod +x /etc/services.d/99-run_forever/run
|
||||||
|
else
|
||||||
|
if var_true "${CONTAINER_ENABLE_SCHEDULING}" ; then
|
||||||
|
print_error "Manual / Exit after execution mode doesn't work with 'CONTAINER_ENABLE_SCHEDULING=TRUE'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if var_true "${CONTAINER_ENABLE_MONITORING}" ; then
|
||||||
|
print_error "Manual / Exit after execution mode doesn't work with 'CONTAINER_ENABLE_MONITORING=TRUE'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if var_true "${CONTAINER_ENABLE_LOGSHIPPING}" ; then
|
||||||
|
print_error "Manual / Exit after execution mode doesn't work with 'CONTAINER_ENABLE_LOGSHIPPING=TRUE'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,7 @@ bootstrap_variables
|
|||||||
if [ "${MODE,,}" = "manual" ] ; then
|
if [ "${MODE,,}" = "manual" ] ; then
|
||||||
DB_DUMP_BEGIN=+0
|
DB_DUMP_BEGIN=+0
|
||||||
manual=TRUE
|
manual=TRUE
|
||||||
|
print_debug "Detected Manual Mode"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "${1,,}" in
|
case "${1,,}" in
|
||||||
@@ -32,7 +33,7 @@ case "${1,,}" in
|
|||||||
:
|
:
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
if [ "${manual,,}" = "true" ]; then
|
if [ "${manual,,}" != "true" ]; then
|
||||||
current_time=$(date +"%s")
|
current_time=$(date +"%s")
|
||||||
today=$(date +"%Y%m%d")
|
today=$(date +"%Y%m%d")
|
||||||
|
|
||||||
|
|||||||
@@ -697,9 +697,9 @@ EOF
|
|||||||
c* )
|
c* )
|
||||||
counter=1
|
counter=1
|
||||||
q_dbuser=" "
|
q_dbuser=" "
|
||||||
while [[ $q_dbname = *" "* ]]; do
|
while [[ $q_dbuser = *" "* ]]; do
|
||||||
if [ $counter -gt 1 ] ; then print_error "DB Usernames can't have spaces in them, please re-enter." ; fi ;
|
if [ $counter -gt 1 ] ; then print_error "DB Usernames can't have spaces in them, please re-enter." ; fi ;
|
||||||
read -e -p "$(echo -e ${clg}** ${cdgy}What DB User do you wish to use:\ ${coff})" q_dbname
|
read -e -p "$(echo -e ${clg}** ${cdgy}What DB User do you wish to use:\ ${coff})" q_dbuser
|
||||||
(( counter+=1 ))
|
(( counter+=1 ))
|
||||||
done
|
done
|
||||||
r_dbuser=${q_dbuser}
|
r_dbuser=${q_dbuser}
|
||||||
@@ -766,9 +766,9 @@ EOF
|
|||||||
c* )
|
c* )
|
||||||
counter=1
|
counter=1
|
||||||
q_dbpass=" "
|
q_dbpass=" "
|
||||||
while [[ $q_dbname = *" "* ]]; do
|
while [[ $q_dbpass = *" "* ]]; do
|
||||||
if [ $counter -gt 1 ] ; then print_error "DB Passwords can't have spaces in them, please re-enter." ; fi ;
|
if [ $counter -gt 1 ] ; then print_error "DB Passwords can't have spaces in them, please re-enter." ; fi ;
|
||||||
read -e -p "$(echo -e ${clg}** ${cdgy}What DB Password do you wish to use:\ ${coff})" q_dbname
|
read -e -p "$(echo -e ${clg}** ${cdgy}What DB Password do you wish to use:\ ${coff})" q_dbpass
|
||||||
(( counter+=1 ))
|
(( counter+=1 ))
|
||||||
done
|
done
|
||||||
r_dbpass=${q_dbpass}
|
r_dbpass=${q_dbpass}
|
||||||
|
|||||||
Reference in New Issue
Block a user