Quick Start¶
Create a config file at ~/.backupd.yaml:
plans:
- name: server
schedule: "0 3 * * *"
sources:
- type: file
path: /etc
exclude: ["*.log", ".cache"]
destination:
type: s3
bucket: my-backups
endpoint: s3.amazonaws.com
region: us-east-1
access-key: ${AWS_ACCESS_KEY_ID}
secret-key: ${AWS_SECRET_ACCESS_KEY}
retention:
keep-last: 30
Validate the config - it prints a per-plan summary and flags problems like missing paths or bad schedules:
backupd check
Run a backup on demand (add --dry-run first to see what it would upload without writing
anything):
backupd run server --dry-run
backupd run server
Check the result:
backupd status
backupd history server
Restore a snapshot:
backupd restore server <snapshot-id> --target /tmp/restore
Run the daemon so the embedded scheduler executes plans on their cron schedule:
backupd daemon
Or export systemd units instead of running the daemon:
backupd export-systemd server
Environment variables
Values like ${AWS_ACCESS_KEY_ID} are interpolated from the environment at load time, so
secrets never have to live in the config file.