mirror of
https://github.com/tiredofit/docker-db-backup.git
synced 2025-12-23 22:18:10 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
11969da1ea | ||
|
|
7998156576 | ||
|
|
6655d5a12a | ||
|
|
bd141cc865 | ||
|
|
abf2a877f7 |
24
CHANGELOG.md
24
CHANGELOG.md
@@ -1,3 +1,27 @@
|
|||||||
|
## 1.22.0 2020-06-10 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Added EXTRA_OPTS variable to all backup commands to pass extra arguments
|
||||||
|
|
||||||
|
|
||||||
|
## 1.21.3 2020-06-10 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Fix `backup-now` manual script due to services.available change
|
||||||
|
|
||||||
|
|
||||||
|
## 1.21.2 2020-06-08 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Change to support tiredofit/alpine base image 5.0.0
|
||||||
|
|
||||||
|
|
||||||
|
## 1.21.1 2020-06-04 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Bugfix to initalization routine
|
||||||
|
|
||||||
|
|
||||||
## 1.21.0 2020-06-03 <dave at tiredofit dot ca>
|
## 1.21.0 2020-06-03 <dave at tiredofit dot ca>
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ services:
|
|||||||
image: mariadb:latest
|
image: mariadb:latest
|
||||||
volumes:
|
volumes:
|
||||||
- ./db:/var/lib/mysql
|
- ./db:/var/lib/mysql
|
||||||
- ./post-script.sh:/assets/custom-scripts/post-script.sh
|
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_ROOT_PASSWORD=examplerootpassword
|
- MYSQL_ROOT_PASSWORD=examplerootpassword
|
||||||
- MYSQL_DATABASE=example
|
- MYSQL_DATABASE=example
|
||||||
@@ -21,6 +20,7 @@ services:
|
|||||||
- example-db
|
- example-db
|
||||||
volumes:
|
volumes:
|
||||||
- ./backups:/backup
|
- ./backups:/backup
|
||||||
|
- ./post-script.sh:/assets/custom-scripts/post-script.sh
|
||||||
environment:
|
environment:
|
||||||
- DB_TYPE=mariadb
|
- DB_TYPE=mariadb
|
||||||
- DB_HOST=example-db
|
- DB_HOST=example-db
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
for s in /assets/functions/*; do source $s; done
|
source /assets/functions/00-container
|
||||||
|
|
||||||
PROCESS_NAME="db-backup"
|
PROCESS_NAME="db-backup"
|
||||||
|
|
||||||
date >/dev/null
|
date >/dev/null
|
||||||
@@ -32,7 +33,7 @@ SIZE_VALUE=${SIZE_VALUE:-"bytes"}
|
|||||||
SPLIT_DB=${SPLIT_DB:-FALSE}
|
SPLIT_DB=${SPLIT_DB:-FALSE}
|
||||||
TMPDIR=/tmp/backups
|
TMPDIR=/tmp/backups
|
||||||
|
|
||||||
if [ "BACKUP_TYPE" = "S3" ] || [ "BACKUP_TYPE" = "s3" ] || [ "BACKUP_TYPE" = "MINIO" ] || [ "BACKUP_TYPE" = "minio" ]
|
if [ "BACKUP_TYPE" = "S3" ] || [ "BACKUP_TYPE" = "s3" ] || [ "BACKUP_TYPE" = "MINIO" ] || [ "BACKUP_TYPE" = "minio" ] ; then
|
||||||
S3_PROTOCOL=${S3_PROTOCOL:-"https"}
|
S3_PROTOCOL=${S3_PROTOCOL:-"https"}
|
||||||
sanity_var S3_HOST "S3 Host"
|
sanity_var S3_HOST "S3 Host"
|
||||||
sanity_var S3_BUCKET "S3 Bucket"
|
sanity_var S3_BUCKET "S3 Bucket"
|
||||||
@@ -119,14 +120,14 @@ function backup_mysql() {
|
|||||||
if [[ "$db" != "information_schema" ]] && [[ "$db" != _* ]] ; then
|
if [[ "$db" != "information_schema" ]] && [[ "$db" != _* ]] ; then
|
||||||
echo "** [db-backup] Dumping database: $db"
|
echo "** [db-backup] Dumping database: $db"
|
||||||
TARGET=mysql_${db}_${DBHOST}_${now}.sql
|
TARGET=mysql_${db}_${DBHOST}_${now}.sql
|
||||||
mysqldump --max-allowed-packet=512M -h $DBHOST -P $DBPORT -u$DBUSER --databases $db > ${TMPDIR}/${TARGET}
|
mysqldump --max-allowed-packet=512M -h $DBHOST -P $DBPORT -u$DBUSER ${EXTRA_OPTS} --databases $db > ${TMPDIR}/${TARGET}
|
||||||
generate_md5
|
generate_md5
|
||||||
compression
|
compression
|
||||||
move_backup
|
move_backup
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
mysqldump --max-allowed-packet=512M -A -h $DBHOST -P $DBPORT -u$DBUSER > ${TMPDIR}/${TARGET}
|
mysqldump --max-allowed-packet=512M -A -h $DBHOST -P $DBPORT -u$DBUSER ${EXTRA_OPTS} > ${TMPDIR}/${TARGET}
|
||||||
generate_md5
|
generate_md5
|
||||||
compression
|
compression
|
||||||
move_backup
|
move_backup
|
||||||
@@ -159,14 +160,14 @@ function backup_pgsql() {
|
|||||||
for db in $DATABASES; do
|
for db in $DATABASES; do
|
||||||
print_info "Dumping database: $db"
|
print_info "Dumping database: $db"
|
||||||
TARGET=pgsql_${db}_${DBHOST}_${now}.sql
|
TARGET=pgsql_${db}_${DBHOST}_${now}.sql
|
||||||
pg_dump -h ${DBHOST} -p ${DBPORT} -U ${DBUSER} $db > ${TMPDIR}/${TARGET}
|
pg_dump -h ${DBHOST} -p ${DBPORT} -U ${DBUSER} $db ${EXTRA_OPTS}> ${TMPDIR}/${TARGET}
|
||||||
generate_md5
|
generate_md5
|
||||||
compression
|
compression
|
||||||
move_backup
|
move_backup
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
export PGPASSWORD=${DBPASS}
|
export PGPASSWORD=${DBPASS}
|
||||||
pg_dump -h ${DBHOST} -U ${DBUSER} -p ${DBPORT} ${DBNAME} > ${TMPDIR}/${TARGET}
|
pg_dump -h ${DBHOST} -U ${DBUSER} -p ${DBPORT} ${DBNAME} ${EXTRA_OPTS}> ${TMPDIR}/${TARGET}
|
||||||
generate_md5
|
generate_md5
|
||||||
compression
|
compression
|
||||||
move_backup
|
move_backup
|
||||||
@@ -175,7 +176,7 @@ function backup_pgsql() {
|
|||||||
|
|
||||||
function backup_redis() {
|
function backup_redis() {
|
||||||
TARGET=redis_${db}_${DBHOST}_${now}.rdb
|
TARGET=redis_${db}_${DBHOST}_${now}.rdb
|
||||||
echo bgsave | redis-cli -h ${DBHOST} -p ${DBPORT} ${REDIS_PASS_STR} --rdb ${TMPDIR}/${TARGET}
|
echo bgsave | redis-cli -h ${DBHOST} -p ${DBPORT} ${REDIS_PASS_STR} --rdb ${TMPDIR}/${TARGET} ${EXTRA_OPTS}
|
||||||
print_info "Dumping Redis - Flushing Redis Cache First"
|
print_info "Dumping Redis - Flushing Redis Cache First"
|
||||||
sleep 10
|
sleep 10
|
||||||
try=5
|
try=5
|
||||||
@@ -197,7 +198,7 @@ function backup_redis() {
|
|||||||
function backup_rethink() {
|
function backup_rethink() {
|
||||||
TARGET=rethink_${db}_${DBHOST}_${now}.tar.gz
|
TARGET=rethink_${db}_${DBHOST}_${now}.tar.gz
|
||||||
print_info "Dumping rethink Database: $db"
|
print_info "Dumping rethink Database: $db"
|
||||||
rethinkdb dump -f ${TMPDIR}/${TARGET} -c ${DBHOST}:${DBPORT} ${RETHINK_PASS_STR} ${RETHINK_DB_STR}
|
rethinkdb dump -f ${TMPDIR}/${TARGET} -c ${DBHOST}:${DBPORT} ${RETHINK_PASS_STR} ${RETHINK_DB_STR} ${EXTRA_OPTS}
|
||||||
move_backup
|
move_backup
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,16 +277,16 @@ function check_availability() {
|
|||||||
function compression() {
|
function compression() {
|
||||||
case "$COMPRESSION" in
|
case "$COMPRESSION" in
|
||||||
"GZ" | "gz" | "gzip" | "GZIP")
|
"GZ" | "gz" | "gzip" | "GZIP")
|
||||||
$GZIP ${TMPDIR}/${TARGET}
|
$GZIP ${TMPDIR}/${TARGET}
|
||||||
TARGET=${TARGET}.gz
|
TARGET=${TARGET}.gz
|
||||||
;;
|
;;
|
||||||
"BZ" | "bz" | "bzip2" | "BZIP2" | "bzip" | "BZIP" | "bz2" | "BZ2")
|
"BZ" | "bz" | "bzip2" | "BZIP2" | "bzip" | "BZIP" | "bz2" | "BZ2")
|
||||||
$BZIP ${TMPDIR}/${TARGET}
|
$BZIP ${TMPDIR}/${TARGET}
|
||||||
TARGET=${TARGET}.bz2
|
TARGET=${TARGET}.bz2
|
||||||
;;
|
;;
|
||||||
"XZ" | "xz" | "XZIP" | "xzip" )
|
"XZ" | "xz" | "XZIP" | "xzip" )
|
||||||
$XZIP ${TMPDIR}/${TARGET}
|
$XZIP ${TMPDIR}/${TARGET}
|
||||||
TARGET=${TARGET}.xz
|
TARGET=${TARGET}.xz
|
||||||
;;
|
;;
|
||||||
"NONE" | "none" | "FALSE" | "false")
|
"NONE" | "none" | "FALSE" | "false")
|
||||||
;;
|
;;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
echo '** Performing Manual Backup'
|
echo '** Performing Manual Backup'
|
||||||
/etc/s6/services/10-db-backup/run NOW
|
/etc/services.available/10-db-backup/run NOW
|
||||||
|
|||||||
Reference in New Issue
Block a user