diff --git a/.gitignore b/.gitignore index fc66c8dcc06e289f00294b8e06f01eb2d13a8723..a111591e2eb957b96c361abd9183c9f3c657c52f 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,6 @@ applications/venv-manager/*.clab.yaml #debug __debug_bin + +#misc +*/mongo_backup_*.tar diff --git a/README.md b/README.md index ce2d4c028c2dbd6644703245aae9343b096c4761..fc3e04357596215d1d07f69124ced34c768c2d24 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ to get all submodules. - [Contributing](CONTRIBUTING.md) - [License](LICENSE) - [CI Status](#ci-status) +- [Development Tutorial](#development-tutorial) # Overview @@ -122,3 +123,20 @@ Information about how to use the CLI is provided in the `cli` folder, see [here] | ------ | ------ | | [](https://code.fbi.h-da.de/danet/gosdn/-/commits/master) | [](https://code.fbi.h-da.de/danet/gosdn/-/commits/develop) | | [](https://code.fbi.h-da.de/danet/gosdn/-/commits/master) | [](https://code.fbi.h-da.de/danet/gosdn/-/commits/develop) | + +# Development Tutorial + +TBD + +## Backup and restore your mongodb + +If you are using the mongodb provided via the `docker-compose.yaml`, you can easily backup and restore your data via two scripts. + +```bash +./scripts/backup_mongo_volume.sh $(suffix_of_backup) +``` +```bash +./scripts/restore_mongo_volume.sh $(suffix_of_backup) +``` + +Keep in mind that a restore will restart the mongodb container. diff --git a/docker_volume_backup/.gitkeep b/docker_volume_backup/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/scripts/backup_mongo_volume.sh b/scripts/backup_mongo_volume.sh new file mode 100755 index 0000000000000000000000000000000000000000..5eac993989009c0a3c890e6e7486f7cff1a9030c --- /dev/null +++ b/scripts/backup_mongo_volume.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +file_suffix=$1 + +docker-compose pause mongo +docker run --rm --volumes-from gosdn-mongo-1 -v $(pwd)/docker_volume_backup:/backup ubuntu bash -c 'cd /data/db/ && tar cvf /backup/mongo_backup_'"$file_suffix"'.tar .' +docker-compose unpause mongo diff --git a/scripts/restore_mongo_volume.sh b/scripts/restore_mongo_volume.sh new file mode 100755 index 0000000000000000000000000000000000000000..601f1bbb72a1d66eaf4715f9ecc08fe44b5da67e --- /dev/null +++ b/scripts/restore_mongo_volume.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +file_suffix=$1 + +docker-compose pause mongo +docker run --rm --volumes-from gosdn-mongo-1 -v $(pwd)/docker_volume_backup:/backup ubuntu bash -c 'rm -r /data/db/* && cd /data/db && tar xvf /backup/mongo_backup_'"$file_suffix"'.tar --strip 1' +docker-compose restart mongo