DVDBR/README.md

97 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2025-02-26 18:36:50 +01:00
# Docker Volume Dirty Backup & Restore (DVDBR)
2025-02-26 18:45:00 +01:00
<p align="left">
2025-02-26 18:40:35 +01:00
<img src="https://raw.githubusercontent.com/RipleyBooya/DVDBR/refs/heads/main/DVDBR.webp" alt="SSH Tunnel Logo" width="200"/>
</p>
2025-02-26 18:36:50 +01:00
## 🚀 Quick Start
2025-02-26 18:59:22 +01:00
Script:
- GitHub - [DVDBR.sh](https://raw.githubusercontent.com/RipleyBooya/DVDBR/refs/heads/main/DVDBR.sh "GitHub - RipleyBooya - DVDBR.sh")
2025-02-26 19:00:39 +01:00
- 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")
2025-02-26 18:59:22 +01:00
2025-02-26 18:36:50 +01:00
```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
2025-02-26 18:45:00 +01:00
This project is licensed under the **[MIT License](https://github.com/RipleyBooya/DVDBR/blob/main/LICENSE)** free to use, modify, and distribute with attribution.
2025-02-26 18:36:50 +01:00
## 🤖 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!** 🚀