A comprehensive wrapper script for Restic backup management with advanced features and integrations.
- 🚀 Easy repository configuration and management
- ⏱️ Automated backup scheduling with cron
- 🔄 Backup retention policy management
- 📊 Progress tracking and colored output
- 📝 Detailed logging and error handling
- 🎯 Interactive configuration interface
- 📱 Telegram notifications for backup status
- 🖥️ Support for multiple backup repositories
- 📂 File selection UI for restores
- 🔒 Secure password management
- restic: The backup tool
- jq: JSON processor for configuration management
- crontab: For backup scheduling (usually pre-installed)
- curl: For Telegram notifications (optional)
# Clone the repository
git clone https://github.com/numbor/restic-wrapper.git
cd restic-wrapper/
# Make the script executable
chmod +x restic.sh
# Install the script
./restic.sh installrestic.sh <command> [options]install: Install and initialize configuration filesconfig [-s]: Configure backup repositories interactivelyinit [repo-name]: Initialize repositoriesbackup [repo-name]: Perform backupsrestore <repo-name> <snapshot-id>: Restore files from backuplist [repo-name] [-v]: List snapshotscrontab [-s|-d]: Manage backup schedulingupdate: Update script to latest version
# Initial setup
restic.sh install
restic.sh config
# Perform backups
restic.sh init
restic.sh backup
# Backup with pre/post scripts
restic.sh backup -pre-backup /path/to/pre.sh -post-backup /path/to/post.sh
# Restore specific files
restic.sh list myrepo -v
restic.sh restore myrepo 1a2b3c -f /path/to/file1 /path/to/file2
# Schedule automatic backups
restic.sh crontabConfiguration files are stored in ~/.config:
- Repository settings:
backup-repos.json - Backup logs:
/var/log/restic-backup.log
Get instant notifications about your backup status through Telegram:
- Backup completion status
- Error notifications
- Detailed error logs
- Easy setup during installation
Flexible retention policies for each repository:
- Keep last N snapshots
- Keep daily snapshots for N days
- Keep weekly snapshots for N weeks
- Keep monthly snapshots for N months
- Colored terminal output
- Progress bars and spinners
- File selection interface for restores
- Repository management interface
If you find this tool useful, consider supporting its development: