SiroPing
Open App
Community · Pro · Business

Backup & Restore

Consistent backups, verification, restore with engine guard, and the automatic daily schedule.

Backup & Restore

SiroPing ships a one-command backup/restore pipeline with a daily automatic schedule.

Backup

sudo -u siroping /opt/siroping/venv/bin/python /opt/siroping/manage.py backup
sudo -u siroping /opt/siroping/venv/bin/python /opt/siroping/manage.py backup --list
sudo -u siroping /opt/siroping/venv/bin/python /opt/siroping/manage.py backup --verify <file>
  • Backups are consistent (engine-aware: SQLite file copy, mysqldump, pg_dump).
  • They live in db/backups/. Make sure Nginx does not serve this directory.
  • A systemd timer runs it daily at 02:30 automatically (siroping-backup.timer).
warning

Backups on the same disk are not a disaster-recovery plan — copy

`db/backups/` off the server regularly (offsite backup).

Restore

sudo -u siroping /opt/siroping/venv/bin/python /opt/siroping/manage.py restore db/backups/<file> --yes
  • Verifies checksum and blocks restoring a different DB engine onto a live install.
  • Creates a pre-restore backup first, so a bad restore is recoverable.
important

Stop `siroping-web`, `siroping-worker` and `siroping-beat` before restoring on a

live install — running processes hold the old database open.

Retention

Check history is pruned automatically: manage.py cleanup_data + a daily retention sweep (SIROPING_DATA_RETENTION_DAYS, default 90). Open incidents and recent checks are kept.

Verify your backups

Run backup --verify <file> after every offsite copy. A backup you've never restored is a hope, not a plan — test a restore on a scratch install before you need it.

Was this page helpful?