# Back up the bench, restore it, or move to a new one

- **MCP resource:** rdmbench://help/backup
- **Version:** 0.2.0
- **Runs on:** macOS 15 Sequoia or later, Apple silicon or Intel
- **Needs:** An Enttec DMX USB Pro with its DMX/RDM firmware (major version 2)
- **Price:** Free

The bench's history is its repair history: every report, note, load
test and channel walk, filed by unit. A backup puts all of it in one
`.zip` file, along with the PID tables and fixture profiles, the GDTF
files and a few settings. Restoring that file on this bench or another
one adds back whatever is missing. It never replaces anything already
there.

## Back up

Choose **File → Back Up Bench Data…** and pick a folder. Another disk,
a NAS or a synced folder is best, since a backup on the same disk goes
down with it. The file is named for when it was made, such as
`rdmbench-backup-20261005T142210Z.zip`, so a folder of backups sorts
oldest to newest. Nothing needs to be connected.

The sheet then says how many files went in. If anything in the bench's
data folder was left out, it names each item and says why.

## Back up on a schedule

In **Settings → Backups**, set **Back up automatically** to **Daily** or
**Weekly**, choose a folder, and say how many backups to keep (10
unless you change it). The first backup is written as soon as you turn
it on.

RDMBench checks when it opens and every hour after that. When a backup
is due, it writes one in the background. Nothing you are doing stops,
and nothing on the DMX line waits for it. The status bar says
**Backing up…** while it runs. After each scheduled backup, older ones
in that folder are deleted, oldest first, until the number you chose is
left. Only files named `rdmbench-backup-…zip` are ever deleted, so a
shared folder is safe. **Back Up Now** writes one into the same folder
straight away.

If the folder isn't there when a backup is due, such as a NAS that
isn't mounted or a disk that isn't plugged in, nothing is written and
RDMBench doesn't create the folder. The status bar says **Backup folder
not found**, and the next hourly check tries again by itself. A backup
that fails for another reason says **Backup failed**. Click either one
to open Settings → Backups, which says when it happened and why.

Scheduled backups run only while RDMBench is open. To back up while it
is closed, use the command line (below).

## What is in a backup

- **The repair history:** every unit's reports, notes, monitoring
  sessions, load tests, channel walks and behavior checks, the line's
  roll call, saved wire logs and filed standards.
- **The PID library:** downloaded tables and fixture profiles, and any
  tables of your own.
- **GDTF files** in the bench's own GDTF folder. You may not have the
  GDTF Share account that fetched them.
- **Settings:** the temperature unit, the shop name on the repair
  sheet, whether to check for PID library updates, and the backup
  schedule: how often, the folder, and how many to keep.

What is never in a backup:

- **The GDTF Share password.** Sign in again on the bench you restore
  to.
- **"Also let assistants on other computers connect."** It opens the
  bench to the shop's network, so it is turned on again on each
  machine.
- Caches the bench can rebuild, such as the GDTF Share catalog.
- A folder of fixture profiles linked from somewhere else, such as a
  git checkout. Back that up where it lives. The sheet names it.

## Restore

Choose **File → Restore from Backup…** and pick the backup file. Before
anything is written, the sheet shows what the restore would do:

- **Files to restore:** in the backup and not on this bench.
- **Already on this bench:** the same file is here already.
- **Differ from this bench's copy:** a filed standard or a PID table
  that has changed since the backup. This bench's copy is kept, and
  each one is listed.
- **Not restored:** anything a backup should not hold, such as a
  password or a name that points outside the data folder, with the
  reason.
- **Settings to apply:** each setting that differs from this Mac's,
  with its value now and its value after.

Choose **Restore** to go ahead, or **Cancel** to leave the bench as it
is. Restoring the same file twice does nothing the second time.

Afterward, the PID tables and fixture profiles are loaded again, and
every report on screen is read again against them. Each unit's history
is then there for its next visit: **Compare with Previous Visit**, the
roll call, and its repair sheet.

## Move to a new bench

Moving to a new bench is a backup and a restore:

1. On the old bench, choose **File → Back Up Bench Data…**.
2. Install RDMBench on the new bench and open it. You don't need to
   connect anything first.
3. Choose **File → Restore from Backup…** and pick the file.
4. Sign in to the GDTF Share again, if you used it.
5. If assistants on other computers used this bench, turn that on again
   in Settings.

## From the command line

`rdmbench-cli backup --to /Volumes/NAS/rdmbench` writes the same file
without the app. Add `--keep 10` to delete all but the newest ten
backups in that folder. It deletes only files named
`rdmbench-backup-…zip`, so a shared folder is safe. Run it from cron,
launchd or Task Scheduler to back up while the app is closed.

`rdmbench-cli restore FILE --dry-run` shows the plan without writing
anything. Without `--dry-run`, it restores the files. A command-line
backup carries no settings, and a command-line restore applies none.
