---
title: How to back up MAAS
description: Canonical makes open source secure, reliable and easy to use, providing
  support for Ubuntu and a portfolio of enterprise-grade technologies. Founded in
  2004, Canonical operates globally with team members in over 80 countries.
url: https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md
---

*Submit*

# How to back up MAAS

MAAS uses standard command-line utilities for simple, familiar backups. The options described here allow you to either back up and restore everything MAAS-related, or just back up key packages and files.

## [Back up a POC database](https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md#p-9002-back-up-a-poc-database)

In many proof-of-concept (POC) environments, the `maas_test_db` ends up serving as the foundation for production. Backing it up protects the effort you’ve already invested in setup and configuration. Fortunately, the procedure is a simple one-line command:

```
pg_dump maasdb -U maas -h /var/snap/maas-test-db/common/postgres/sockets > dump.sql
```

Be sure to use a memorable label for the dump file.

## [Clean reset production backup](https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md#p-9002-clean-reset-production-backup)

The method uses `pg_dumpall` the entire database and make a complete snapshot of MAAS.

### [Back up procedure](https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md#p-9002-back-up-procedure)

1. Find the PostgreSQL service:

   ```
   sudo systemctl list-units --type=service | grep postgres
   ```
2. Create backup directory:

   ```
   mkdir -p <backup-path>/$(date +%s)
   ```
3. Dump database:

   ```
   sudo -u postgres pg_dumpall -c > "<backup-path>/$(date +%s)_dump.sql"
   ```
4. Stop MAAS:

   ```
   sudo snap stop maas
   ```
5. (Optional) Stop PostgreSQL:

   ```
   sudo systemctl stop postgresql.service
   ```
6. Snap backup:

   ```
   sudo snap save maas
   ```
7. Export snapshot:

   ```
   sudo snap export-snapshot <snapshot-id> <backup-path>/$(date +%s)_snapshot
   ```
8. Restart services:

   ```
   sudo systemctl start postgresql.service
   sudo snap restart maas
   ```

### [Restore](https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md#p-9002-restore)

1. Stop MAAS & remove instance:

   ```
   sudo snap stop maas && sudo snap remove maas
   ```
2. Restore database:

   ```
   sudo -u postgres psql -f <backup-path>/<dump.sql> postgres
   ```
3. Import & restore snapshot:

   ```
   sudo snap import-snapshot <backup-path>/<snapshot>
   sudo snap restore <snapshot-id>
   ```
4. Restart services:

   ```
   sudo systemctl start postgresql.service
   sudo snap restart maas
   ```

## [Package production backup](https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md#p-9002-package-production-backup)

Backs up PostgreSQL and key MAAS files.

### [Backup](https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md#p-9002-backup)

1. Find PostgreSQL service:

   ```
   sudo systemctl list-units --type=service | grep postgres
   ```
2. Create backup directory:

   ```
   mkdir -p <backup-path>/$(date +%s)
   ```
3. Dump database:

   ```
   sudo -u postgres pg_dumpall -c > "<backup-path>/$(date +%s)_dump.sql"
   ```
4. Stop MAAS services:

   ```
   sudo systemctl stop maas-dhcpd.service maas-rackd.service maas-regiond.service
   ```
5. (Optional) Stop PostgreSQL:

   ```
   sudo systemctl stop postgresql.service
   ```
6. Archive MAAS files:

   ```
   sudo tar cvpzWf <backup-path>/$(date +%s)_maas_backup.tgz --exclude=/var/lib/maas/boot-resources /etc/maas /var/lib/maas
   ```
7. Restart services:

   ```
   sudo systemctl start postgresql.service
   sudo snap restart maas
   ```

### [Restore](https://canonical-com-2922.demos.haus/maas/docs/how-to-back-up-maas?format=md#p-9002-restore)

1. Reinstall Ubuntu (if possible).
2. Ensure PostgreSQL is installed.
3. Restore database:

   ```
   sudo -u postgres psql -f <backup-path>/<dump.sql> postgres
   ```
4. Install [MAAS from packages](https://maas.io/docs/how-to-install-maas#p-9034-install-maas-snap-or-packages).
5. Stop MAAS services:

   ```
   sudo systemctl stop maas-dhcpd.service maas-rackd.service maas-regiond.service
   ```
6. Extract backup:

   ```
   sudo tar xvzpf <backup-path>/<backup.tgz> -C /
   ```
7. Restart services:

   ```
   sudo systemctl start postgresql.service
   sudo systemctl restart maas-dhcpd.service maas-rackd.service maas-regiond.service
   ```

---

[Previous

Get MAAS up and running](https://canonical-com-2922.demos.haus/maas/docs/how-to-get-maas-up-and-running)
[Next

Manage networks](https://canonical-com-2922.demos.haus/maas/docs/how-to-manage-networks)

Last updated 1 year, 1 month ago. [Help improve this document in the forum](https://discourse.maas.io/t/how-to-back-up-maas/5096).
