Skip to content

Latest commit

 

History

History
executable file
·
82 lines (49 loc) · 3.35 KB

BACKUPS.md

File metadata and controls

executable file
·
82 lines (49 loc) · 3.35 KB

💾 Backing things up

Note

To backup 99% of your configuration backup at least the /config folder. Please read the whole page (or at least "Scenario 2: Corrupted database") for details.

There are 3 artifacts that can be used to backup the application:

File Description Limitations
/db/app.db Database file(s) The database file might be in an uncommitted state or corrupted
/config/app.conf Configuration file Can be overridden with the APP_CONF_OVERRIDE env variable.
/config/devices.csv CSV file containing device information Doesn't contain historical data

Data and backup storage

To decide on a backup strategy, check where the data is stored:

Core Configuration

The core application configuration is in the app.conf file (See Settings System for details), such as:

  • Notification settings
  • Scanner settings
  • Scheduled maintenance settings
  • UI configuration (80%)

Core Device Data

The core device data is backed up to the devices_<timestamp>.csv file via the CSV Backup CSVBCKP Plugin. This file contains data, such as:

  • Device names
  • Device Icons
  • Device Network configuration
  • Device categorization

Historical data

Historical data is stored in the app.db database (See Database overview for details). This data includes:

  • Plugin objects
  • Plugin historical entries
  • History of Events, Notifications, Workflow Events
  • Presence History

🧭 Backup strategies

The safest approach to backups is to backup all of the above, by taking regular file system backups (I use Kopia).

Arguably, the most time is spent setting up the device list, so if only one file is kept I'd recommend to have a latest backup of the devices_<timestamp>.csv file, followed by the app.conf file.

Scenario 1: Full backup

End-result: Full restore

Source artifacts:

  • /db/app.db (uncorrupted)
  • /config/app.conf

Recovery:

To restore the application map the above files as described in the Setup documentation.

Scenario 2: Corrupted database

End-result: Partial restore (historical data & configurations from the Maintenance section will be missing)

Source artifacts:

  • /config/app.conf
  • /config/devices_<timestamp>.csv or /config/devices.csv

Recovery:

Even with a corrupted database you can recover what I would argue is 99% of the configuration (except of a couple of settings under Maintenance).

  • map the /config/app.conf file as described in the Setup documentation.
  • rename the devices_<timestamp>.csv to devices.csv and place it in the /config folder
  • Restore the devices.csv backup via the Maintenance section