Backup
To Backup the current Reqif Manager Data in your Docker Containers use the follwing bash Script:
#!/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
Restore
To restore the backed up data use the following bash script:
#!/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