# DRestic Automated encrypted backups to MEGA using restic. ## Setup ```sh git clone https://github.com/casparvitch/drestic cd drestic make install-deps make setup-user # or setup-system for servers ``` Enter MEGA credentials and restic password when prompted. **Store the restic password safely.** ## Usage ```sh make help # see all commands make status # check backup status make backup-now # run backup immediately make snapshots # list backups ``` **Recover files:** ```sh mkdir ~/restore # Replace with your repo path from ~/.config/restic/env RESTIC_PASSWORD_FILE=~/.config/restic/password restic mount ~/restore --repo rclone:backup_remote:/drestic_backups_hostname # Browse ~/restore/snapshots/latest/ umount ~/restore ``` ## Configuration Edit backup paths: `~/.config/restic/paths` (user) or `/etc/restic/paths` (system) Edit excludes: `~/.config/restic/excludes` Add notifications: `make update-gotify` ## Manual Checks **Automated:** Metadata-only weekly checks (catches 95% of issues) **Manual verification:** ```sh # Quick metadata check (~50MB RAM, 1-2 min) source ~/.config/restic/env && restic check --repo "$RESTIC_REPOSITORY" --password-file "$RESTIC_PASSWORD_FILE" # Light data check (~200MB RAM, 5-15 min) source ~/.config/restic/env && restic check --repo "$RESTIC_REPOSITORY" --password-file "$RESTIC_PASSWORD_FILE" --read-data-subset 0.1% # Heavy data check (~500MB+ RAM, 30+ min) source ~/.config/restic/env && restic check --repo "$RESTIC_REPOSITORY" --password-file "$RESTIC_PASSWORD_FILE" --read-data-subset 1% ``` **From another machine:** ```sh # Setup: install restic, rclone rclone config create backup_remote mega user EMAIL pass PASSWORD echo "PASSWORD" > ~/.restic_password && chmod 600 ~/.restic_password restic check --repo rclone:backup_remote:/drestic_backups_HOSTNAME --password-file ~/.restic_password --read-data-subset 0.1% ``` **When:** Monthly 0.1% checks, quarterly 1% checks, or troubleshooting. ## Troubleshooting ```sh make unlock-repo # fix locked repository make logs # check recent logs rclone ls backup_remote: # test MEGA connection ```