Add error handling and improve backup scripts for consistency
This commit is contained in:
parent
5bfbda5e5e
commit
2ab7be67fa
4 changed files with 12 additions and 4 deletions
|
|
@ -5,6 +5,6 @@ RUN apk add --no-cache restic docker-cli docker-cli-compose curl zstd bash
|
||||||
COPY backup.sh /backup.sh
|
COPY backup.sh /backup.sh
|
||||||
COPY backup_local.sh /backup_local.sh
|
COPY backup_local.sh /backup_local.sh
|
||||||
COPY backup_restic.sh /backup_restic.sh
|
COPY backup_restic.sh /backup_restic.sh
|
||||||
RUN chmod +x /backup.sh
|
RUN chmod +x /backup.sh /backup_local.sh /backup_restic.sh
|
||||||
|
|
||||||
ENTRYPOINT [ "/backup.sh" ]
|
ENTRYPOINT [ "/backup.sh" ]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
if [ "$1" = "local" ]; then
|
if [ "$1" = "local" ]; then
|
||||||
source /backup_local.sh
|
source /backup_local.sh
|
||||||
elif [ "$1" = "restic" ]; then
|
elif [ "$1" = "restic" ]; then
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
#
|
#
|
||||||
# CONTAINER - name of the container where the database is running
|
# CONTAINER - name of the container where the database is running
|
||||||
|
|
@ -31,8 +33,9 @@ fi
|
||||||
echo "Starting backup for container: $CONTAINER"
|
echo "Starting backup for container: $CONTAINER"
|
||||||
if [ `docker exec -i $CONTAINER test -e /usr/bin/mariadb-dump && echo "yes" || echo "no"` = "yes" ]; then
|
if [ `docker exec -i $CONTAINER test -e /usr/bin/mariadb-dump && echo "yes" || echo "no"` = "yes" ]; then
|
||||||
DBTYPE="mariadb"
|
DBTYPE="mariadb"
|
||||||
FILENAME=`date +"%Y%m%d_%H%M%S"`_$DBTYPE_$CONTAINER_$DB_NAME.sql.zst.tmp
|
FILENAME=`date +"%Y%m%d_%H%M%S"`_$DBTYPE_$CONTAINER_$DB_NAME.sql.zst
|
||||||
docker exec -i $CONTAINER mariadb-dump \
|
docker exec -i $CONTAINER mariadb-dump \
|
||||||
|
--all-databases \
|
||||||
--user=root \
|
--user=root \
|
||||||
--password=$MARIADB_ROOT_PASSWORD \
|
--password=$MARIADB_ROOT_PASSWORD \
|
||||||
--add-drop-trigger \
|
--add-drop-trigger \
|
||||||
|
|
@ -43,8 +46,8 @@ if [ `docker exec -i $CONTAINER test -e /usr/bin/mariadb-dump && echo "yes" || e
|
||||||
--events \
|
--events \
|
||||||
--routines \
|
--routines \
|
||||||
--single-transaction \
|
--single-transaction \
|
||||||
--triggers | zstd -1 > $TARGET_DIR/
|
--triggers | zstd -1 > $TARGET_DIR/$FILENAME.tmp
|
||||||
mv $TARGET_DIR/$DBTYPE_$CONTAINER_$DB_NAME.sql.zst.tmp $TARGET_DIR/$DBTYPE_$CONTAINER_$DB_NAME.sql.zst
|
mv $TARGET_DIR/$FILENAME.tmp $TARGET_DIR/$FILENAME
|
||||||
elif [ `docker exec -i $CONTAINER test -e /usr/bin/pg_dump && echo "yes" || echo "no"` = "yes" ]; then
|
elif [ `docker exec -i $CONTAINER test -e /usr/bin/pg_dump && echo "yes" || echo "no"` = "yes" ]; then
|
||||||
DBTYPE="pgsql"
|
DBTYPE="pgsql"
|
||||||
FILENAME=`date +"%Y%m%d_%H%M%S"`_$DBTYPE_$CONTAINER_$DB_NAME.sql.zst
|
FILENAME=`date +"%Y%m%d_%H%M%S"`_$DBTYPE_$CONTAINER_$DB_NAME.sql.zst
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
#
|
#
|
||||||
# CONTAINER - name of the container where the database is running
|
# CONTAINER - name of the container where the database is running
|
||||||
|
|
@ -32,6 +34,7 @@ echo "Starting backup for container: $CONTAINER"
|
||||||
if [ `docker exec -i $CONTAINER test -e /usr/bin/mariadb-dump && echo "yes" || echo "no"` = "yes" ]; then
|
if [ `docker exec -i $CONTAINER test -e /usr/bin/mariadb-dump && echo "yes" || echo "no"` = "yes" ]; then
|
||||||
DBTYPE="mariadb"
|
DBTYPE="mariadb"
|
||||||
docker exec -i $CONTAINER mariadb-dump \
|
docker exec -i $CONTAINER mariadb-dump \
|
||||||
|
--all-databases \
|
||||||
--user=root \
|
--user=root \
|
||||||
--password=$MARIADB_ROOT_PASSWORD \
|
--password=$MARIADB_ROOT_PASSWORD \
|
||||||
--add-drop-trigger \
|
--add-drop-trigger \
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue