18.3.3. Backup and restore¶
NextGIS Web uses two data storages for different types of data:
PostgreSQL database used as general purpose relational database.
Filesystem storage used for storing BLOBs like raster, attachments, etc.
Also NextGIS Web provides tools for backup and restore this data to / from single-file archive. You can use any destination directory but these tools provide some defaults wich may be usefull.
So before we begin, let’s create default backup directory in /srv/ngw
:
$ mkdir backup
And set up backup directory in config/config.ini
:
[core]
# Other config options go here
backup.path = /srv/ngw/backup
Backup¶
To create a backup you need to run command nextgisweb backup
and it will
create backup and print it’s filename:
$ nextgisweb backup
/srv/ngw/backup/20200721-234619.ngwbackup
By default NextGIS Web uses strftime formatted for filename which is
%Y%m%d-%H%M%S.ngwbackup
. In the example below 2020 is a year, 07 is a
month, 21 is a day and so on. Note that timestamps are always stored in UTC.
Restore¶
Now try to restore NextGIS Web from previously created backup. You don’t need to stop NextGIS Web service during backup but you need to stop it during restore. If you used systemd in the previous section just run as root following command:
# systemctl stop ngw.service
Then run nextgisweb restore
command with filename argument:
$ nextgisweb restore backup/20200721-234619.ngwbackup
If you are restoring backup which made from some previous version, it may require to apply migrations. The process of applying migrations is described in «Backup and restore» section. Follow instruction from there, and then start NextGIS Web service again:
# systemctl start ngw.service