Releases: buildplan/restic-backup-script
Releases · buildplan/restic-backup-script
v0.38.1
What's Changed
Add stronger safety checks and UX around restoring to critical system directories, along with a version bump.
- Bump script version to 0.38.1 and update SHA256.
- Expand critical directory detection for restore destinations and require explicit confirmation.
- Add logging when a dangerous restore is confirmed.
Full Changelog: v0.38...v0.38.1
v0.38
What's Changed
- restore data in background or via cron job on a different server to create another copy of the data by @buildplan in #27
NEW FEATURES
-
BACKGROUND RESTORE MODE (--background-restore)
-
NEW: Non-interactive restore that runs as a background process
-
Usage: sudo restic-backup.sh --background-restore <snapshot_id> <dest_path>
-
Features:
- Accepts 'latest' as snapshot ID (auto-resolves to most recent snapshot)
- Creates dedicated timestamped log files for each restore job
- Runs in detached background process with output redirection
- Sends notifications on completion/failure via configured channels
- Automatically handles file ownership for /home/* paths
- No terminal interaction required after launch
-
Implementation Details:
- Uses subshell backgrounding: ( ... ) > "$restore_log" 2>&1 &
- Log files: /tmp/restic-restore-${snapshot_id:0:8}-$(date +%s).log
- Integrates with notification system (ntfy, Discord, Slack, Teams)
- Runs pre-flight checks before starting background job
-
Use Cases:
- Large dataset restoration without blocking terminal
- Remote server restores over SSH
- Long-running operations that should survive terminal disconnection
-
-
SYNC RESTORE MODE (--sync-restore)
-
NEW: Non-interactive foreground restore for automation/cron
-
Usage: sudo restic-backup.sh --sync-restore <snapshot_id> <dest_path> [paths...]
-
Features:
- Runs synchronously (blocks until completion)
- Returns proper exit codes for scheduler/cron monitoring
- Accepts optional specific file/directory paths to restore
- Integrates with Healthchecks.io for success/failure pinging
- Supports 'latest' snapshot ID resolution
- Automatic ownership handling for user directories
-
Implementation Details:
- Exit code 0 on success, 1 on failure
- Healthchecks.io ping on completion: $HEALTHCHECKS_URL or $HEALTHCHECKS_URL/fail
- Full logging to main log file
- Notification support for all configured channels
-
Use Cases:
- Automated backup pull for 3-2-1 backup strategy
- Cron-scheduled regular restores to secondary servers
- DR (Disaster Recovery) automation workflows
- CI/CD backup restoration pipelines
-
Full Changelog: v0.37.2...v0.38
v0.37.2
What's Changed
- improved uninstall cron systemd timer by @buildplan in #26
Full Changelog: v0.37.1...v0.37.2
v0.37.1
What's Changed
- Script self-update and restic update now show release notes by @buildplan in #24
- requires jq for release notes and restic stats - jq dependency check in --test
- removed broken v0.37 release
Full Changelog: v0.36...v0.37.1
v0.36
What's Changed
- Show progress bars in verbose mode by @buildplan in #23
- Since v0.34 flexible shebang check in the self-update function will break the backward compatibility for self-update, so a one-time manual update is required. Which can be done with:
curl -Lo restic-backup.sh "https://raw.githubusercontent.com/buildplan/restic-backup-script/main/restic-backup.sh" && chmod +x restic-backup.sh
Full Changelog: v0.35...v0.36
v0.35
What's Changed
- Fix performance tuning and verbose flag by @buildplan in #21
- flexible shebang check in the self-update function will break the backward compatibility for self-update, so a one-time manual update is required. Which can be done with:
curl -Lo restic-backup.sh "https://raw.githubusercontent.com/buildplan/restic-backup-script/main/restic-backup.sh" && chmod +x restic-backup.sh
Full Changelog: v0.34...v0.35
v0.34
v0.33
What's Changed
- add support for Slack and MS Teams notifications by @buildplan in #18
- Add new fix permissions flag
- Updated help flag
- Update README with new flags
Full Changelog: v0.32...v0.33
v0.32
v0.31
What's Changed
- Add scheduler - script can install a cron or systemd schedule for automated backups by @buildplan in #16
Full Changelog: v0.30...v0.31