Daten sichern und wiederherstellen

Einleitung

Kopieren Sie die beiden folgenden Skripte in einen Editor Ihrer Wahl und speichern Sie sie als .sh-Dateien. Fügen Sie die notwendigen Informationen für:

<PLACEHOLDER_REQIF-MANAGER-CONTAINERNAME>

<PLACEHOLDER_MYSQL-CONTAINERNAME>

<PLACEHOLDER_MSQL-ROOT-PW>

Um die Namen der laufenden Container zu erhalten, können Sie den Befehl verwenden: docker ps -a

Geben Sie sich mit dem Befehl chmod 777 <Dateiname>.sh|.cmd Ausführungsrechte für die Skripte. Starten Sie dann das Backup-Skript mit dem Befehl: ./backupReqifMGR.sh|.cmd (wenn Ihr Dateiname "backupReqifMGR.sh" ist). Dies dauert je nach Größe der zu sichernden Daten einige Zeit. Die gesicherten Daten befinden sich in der Datei backup.tar.gz (im aktuellen Ordner, von dem aus Sie das Skript gestartet haben).

Danach können Sie die Backups zur Wiederherstellung in Ihrer neuen Umgebung verwenden.


Backup

Um die aktuellen Reqif Manager-Daten in Ihren Docker-Containern zu sichern, verwenden Sie das folgende Bash-Skript.:

Linux

#!/bin/bash

export REQIF_MGR_CONTAINER=<PLACEHOLDER_REQIF-MANAGER-CONTAINERNAME>
export MYSQL_CONTAINER=<PLACEHOLDER_MYSQL-CONTAINERNAME>
export MYSQL_ROOT_PASSWORD=<PLACEHOLDER_MSQL-ROOT-PW>

#backup mysql
docker exec -ti $MYSQL_CONTAINER mysqldump -A -C -x --max-allowed-packet=2G -u root -p$MYSQL_ROOT_PASSWORD --result-file=dump.sql
docker exec -ti $MYSQL_CONTAINER gzip dump.sql
rm dump.sql
docker cp $MYSQL_CONTAINER:dump.sql.gz dump.sql.gz
docker exec -ti $MYSQL_CONTAINER rm dump.sql.gz

#backup reqif files
docker exec -ti $REQIF_MGR_CONTAINER tar -zcvf backup.tar.gz /app/web/uploads
rm backup.tar.gz
docker cp $REQIF_MGR_CONTAINER:/app/backup.tar.gz backup.tar.gz
docker exec -ti $REQIF_MGR_CONTAINER rm /app/backup.tar.gz


Windows

SET REQIF_MGR_CONTAINER=<PLACEHOLDER_REQIF-MANAGER-CONTAINERNAME>
SET MYSQL_CONTAINER=<PLACEHOLDER_MYSQL-CONTAINERNAME>
SET MYSQL_ROOT_PASSWORD=<PLACEHOLDER_MSQL-ROOT-PW>

rem backup mysql
docker exec -ti %MYSQL_CONTAINER% mysqldump -A -C -x --max-allowed-packet=2G -u root -p%MYSQL_ROOT_PASSWORD% --result-file=dump.sql
docker exec -ti %MYSQL_CONTAINER% gzip dump.sql
del dump.sql
docker cp %MYSQL_CONTAINER%:dump.sql.gz dump.sql.gz
docker exec -ti %MYSQL_CONTAINER% rm dump.sql.gz

rem backup reqif files
docker exec -ti %REQIF_MGR_CONTAINER tar -zcvf backup.tar.gz /app/web/uploads
del backup.tar.gz
docker cp %REQIF_MGR_CONTAINER%:/app/backup.tar.gz backup.tar.gz
docker exec -ti %REQIF_MGR_CONTAINER% rm /app/backup.tar.gz

 

Wiederherstellung

Um die wiederherzustellenden Daten zu sichern, muss das Wiederherstellungsskript im selben Ordner wie Ihre backup.tar.gz-Datei mit den Daten platziert werden. Verwenden Sie das folgende Bash-Skript, um die gesicherten Daten wiederherzustellen::

Linux

 

#!/bin/bash

export REQIF_MGR_CONTAINER=<PLACEHOLDER_REQIF-MANAGER-CONTAINERNAME>

export MYSQL_CONTAINER=<PLACEHOLDER_MYSQL-CONTAINERNAME>

export MYSQL_ROOT_PASSWORD=<PLACEHOLDER_MSQL-ROOT-PW>

#restore mysql

docker cp dump.sql.gz $MYSQL_CONTAINER:dump.sql.gz

docker exec -ti $MYSQL_CONTAINER gunzip dump.sql.gz

docker exec -ti $MYSQL_CONTAINER bash -c 'mysql --max-allowed-packet=2G -u root -p$MYSQL_ROOT_PASSWORD <dump.sql'

docker exec -ti $MYSQL_CONTAINER rm -f dump.sql

#restore reqif files

docker cp backup.tar.gz $REQIF_MGR_CONTAINER:/app/backup.tar.gz

docker exec -ti $REQIF_MGR_CONTAINER tar -xvf /app/backup.tar.gz -C /

docker exec -ti $REQIF_MGR_CONTAINER rm -f /app/backup.tar.gz

Windows

export REQIF_MGR_CONTAINER=<PLACEHOLDER_REQIF-MANAGER-CONTAINERNAME>
export MYSQL_CONTAINER=<PLACEHOLDER_MYSQL-CONTAINERNAME>
export MYSQL_ROOT_PASSWORD=<PLACEHOLDER_MSQL-ROOT-PW>

rem restore mysql
docker cp dump.sql.gz %MYSQL_CONTAINER%:dump.sql.gz
docker exec -ti %MYSQL_CONTAINER% gunzip dump.sql.gz
docker exec -ti %MYSQL_CONTAINER% bash -c 'mysql --max-allowed-packet=2G -u root -p$%MYSQL_ROOT_PASSWORD% <dump.sql'
docker exec -ti %MYSQL_CONTAINER% rm -f dump.sql

rem restore reqif files
docker cp backup.tar.gz %REQIF_MGR_CONTAINER%:/app/backup.tar.gz
docker exec -ti %REQIF_MGR_CONTAINER% tar -xvf /app/backup.tar.gz -C /
docker exec -ti %REQIF_MGR_CONTAINER% rm -f /app/backup.tar.gz