# Docker Volume Dirty Backup & Restore (DVDBR)
## π Quick Start
Script:
- GitHub - [DVDBR.sh](https://raw.githubusercontent.com/RipleyBooya/DVDBR/refs/heads/main/DVDBR.sh "GitHub - RipleyBooya - DVDBR.sh")
- ltgs.wiki mirror (***may be not up to date***) - [DVDBR.sh](https://ltgs.wiki/files/infotech/virt/docker/dvdbr/dvdbr.sh "ltgs.wiki - DVDBR.sh")
```bash
chmod +x DVDBR.sh
./DVDBR.sh
```
Follow the interactive prompts to configure your backup process.
## β Why This Script?
DVDBR provides a **simple yet flexible** way to backup Docker volumes, whether locally or remotely, ensuring data integrity without unnecessary complexity.
### πΉ Use Cases
- **Migrating containers between hosts**
- **Regular backups of critical Docker volumes**
- **Disaster recovery preparedness**
- **Offloading backups to remote storage (NAS, cloud, etc.)**
## π§ Prerequisites
- **Linux-based system** (Ubuntu, Debian, CentOS, etc.)
- **Docker installed** (`docker` command available)
- **User must be in the `docker` group** (or provide `sudo` access)
- **For remote backups:**
- `ssh` access to the remote machine
- `rsync` and `scp` installed
## π How to Use?
1. **Run the script:**
```bash
./DVDBR.sh
```
2. **Follow the prompts to:**
- Select Docker volumes to back up
- Choose between local and/or remote backup
- Decide whether to stop running containers
- Configure SSH settings for remote backup
3. **Confirm the backup process** and let DVDBR handle the rest!
## βοΈ Explanation of Features & Options
- **Backup Modes:**
- Local backup (stored in a directory of your choice)
- Remote backup via SSH (`ssh cat`, `rsync`, `scp` fallback)
- **Container Management:**
- Detects running containers using selected volumes
- Offers to stop/restart containers before/after backup
- **Filename Customization:**
- Option to include a timestamp in the backup filename
- **Failover Mechanism:**
- Uses `ssh cat` by default for remote transfers
- Falls back to `rsync` and `scp` if needed
- **Logging:**
- Creates detailed logs with timestamps for troubleshooting
## π·οΈ Tags & Keywords
`docker` `backup` `restore` `volumes` `automation` `shell script` `rsync` `scp` `ssh cat` `container management`
## π Third-Party Licenses
This script utilizes:
- [Docker](https://www.docker.com/)
- [Alpine Linux](https://www.alpinelinux.org/)
- [OpenSSH](https://www.openssh.com/)
- [rsync](https://rsync.samba.org/)
Refer to their respective licenses for details.
## π License
This project is licensed under the **[MIT License](https://github.com/RipleyBooya/DVDBR/blob/main/LICENSE)** β free to use, modify, and distribute with attribution.
## π€ AI Assistance & Acknowledgment
This project was developed with assistance from an AI-powered assistant, ensuring efficiency and optimization while maintaining human oversight.
## π Project Links & Contributions
- π **Source Code & Issues:** [GitHub Repository](https://github.com/RipleyBooya/DVDBR)
- π«π· **Version franΓ§aise (WikiJS):** [ltgs.wiki (FR)](https://ltgs.wiki/fr/InfoTech/Virt/Docker/DVDBR)
- πΊπΈ **English version (WikiJS):** [ltgs.wiki (EN)](https://ltgs.wiki/en/InfoTech/Virt/Docker/DVDBR)
If you find any issues or have suggestions, feel free to **open a GitHub issue or contribute!** π