Clean up README.md for conservative style

- Update repository URL to git.uuxo.net/UUXO/dbbackup (main)
- Add GitHub mirror reference
- Remove all emojis and icons for professional appearance
- Fix section order: Recent Improvements, Contributing, Support, License
- Remove duplicate Support/License sections
- Clean up output examples (remove emoji decorations)
This commit is contained in:
2025-12-12 14:33:37 +01:00
parent 3afb0dbce2
commit b45720a547

186
README.md
View File

@@ -4,20 +4,23 @@
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?logo=go)](https://golang.org/) [![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?logo=go)](https://golang.org/)
[![Tests](https://img.shields.io/badge/Tests-Passing-success)](https://git.uuxo.net/PlusOne/dbbackup) [![Tests](https://img.shields.io/badge/Tests-Passing-success)](https://git.uuxo.net/UUXO/dbbackup)
[![Release](https://img.shields.io/badge/Release-v3.1.0-blue)](https://git.uuxo.net/PlusOne/dbbackup/releases) [![Release](https://img.shields.io/badge/Release-v3.1.0-blue)](https://git.uuxo.net/UUXO/dbbackup/releases)
Professional database backup and restore utility for PostgreSQL, MySQL, and MariaDB. Professional database backup and restore utility for PostgreSQL, MySQL, and MariaDB.
**🎯 Production-Ready** | **🔒 Encrypted Backups** | **☁️ Cloud Storage** | **🔄 Point-in-Time Recovery** **Production-Ready** | **Encrypted Backups** | **Cloud Storage** | **Point-in-Time Recovery**
**Repository:** https://git.uuxo.net/UUXO/dbbackup
**Mirror:** https://github.com/PlusOne/dbbackup
## Key Features ## Key Features
- Multi-database support: PostgreSQL, MySQL, MariaDB - Multi-database support: PostgreSQL, MySQL, MariaDB
- Backup modes: Single database, cluster, sample data - Backup modes: Single database, cluster, sample data
- **🔐 AES-256-GCM encryption** for secure backups (v3.0) - AES-256-GCM encryption for secure backups (v3.0)
- **📦 Incremental backups** for PostgreSQL and MySQL (v3.0) - Incremental backups for PostgreSQL and MySQL (v3.0)
- **Cloud storage integration: S3, MinIO, B2, Azure Blob, Google Cloud Storage** - Cloud storage integration: S3, MinIO, B2, Azure Blob, Google Cloud Storage
- Restore operations with safety checks and validation - Restore operations with safety checks and validation
- Automatic CPU detection and parallel processing - Automatic CPU detection and parallel processing
- Streaming compression for large databases - Streaming compression for large databases
@@ -30,7 +33,7 @@ Professional database backup and restore utility for PostgreSQL, MySQL, and Mari
**Pull from registry:** **Pull from registry:**
```bash ```bash
docker pull git.uuxo.net/PlusOne/dbbackup:latest docker pull git.uuxo.net/UUXO/dbbackup:latest
``` ```
**Quick start:** **Quick start:**
@@ -41,12 +44,12 @@ docker run --rm \
-e PGHOST=your-host \ -e PGHOST=your-host \
-e PGUSER=postgres \ -e PGUSER=postgres \
-e PGPASSWORD=secret \ -e PGPASSWORD=secret \
git.uuxo.net/PlusOne/dbbackup:latest backup single mydb git.uuxo.net/UUXO/dbbackup:latest backup single mydb
# Interactive mode # Interactive mode
docker run --rm -it \ docker run --rm -it \
-v $(pwd)/backups:/backups \ -v $(pwd)/backups:/backups \
git.uuxo.net/PlusOne/dbbackup:latest interactive git.uuxo.net/UUXO/dbbackup:latest interactive
``` ```
See [DOCKER.md](DOCKER.md) for complete Docker documentation. See [DOCKER.md](DOCKER.md) for complete Docker documentation.
@@ -55,40 +58,40 @@ See [DOCKER.md](DOCKER.md) for complete Docker documentation.
**Linux x86_64:** **Linux x86_64:**
```bash ```bash
wget https://git.uuxo.net/PlusOne/dbbackup/releases/download/v3.1.0/dbbackup-linux-amd64 wget https://git.uuxo.net/UUXO/dbbackup/releases/download/v3.1.0/dbbackup-linux-amd64
chmod +x dbbackup-linux-amd64 chmod +x dbbackup-linux-amd64
sudo mv dbbackup-linux-amd64 /usr/local/bin/dbbackup sudo mv dbbackup-linux-amd64 /usr/local/bin/dbbackup
``` ```
**Linux ARM64:** **Linux ARM64:**
```bash ```bash
wget https://git.uuxo.net/PlusOne/dbbackup/releases/download/v3.1.0/dbbackup-linux-arm64 wget https://git.uuxo.net/UUXO/dbbackup/releases/download/v3.1.0/dbbackup-linux-arm64
chmod +x dbbackup-linux-arm64 chmod +x dbbackup-linux-arm64
sudo mv dbbackup-linux-arm64 /usr/local/bin/dbbackup sudo mv dbbackup-linux-arm64 /usr/local/bin/dbbackup
``` ```
**macOS Intel:** **macOS Intel:**
```bash ```bash
wget https://git.uuxo.net/PlusOne/dbbackup/releases/download/v3.1.0/dbbackup-darwin-amd64 wget https://git.uuxo.net/UUXO/dbbackup/releases/download/v3.1.0/dbbackup-darwin-amd64
chmod +x dbbackup-darwin-amd64 chmod +x dbbackup-darwin-amd64
sudo mv dbbackup-darwin-amd64 /usr/local/bin/dbbackup sudo mv dbbackup-darwin-amd64 /usr/local/bin/dbbackup
``` ```
**macOS Apple Silicon:** **macOS Apple Silicon:**
```bash ```bash
wget https://git.uuxo.net/PlusOne/dbbackup/releases/download/v3.1.0/dbbackup-darwin-arm64 wget https://git.uuxo.net/UUXO/dbbackup/releases/download/v3.1.0/dbbackup-darwin-arm64
chmod +x dbbackup-darwin-arm64 chmod +x dbbackup-darwin-arm64
sudo mv dbbackup-darwin-arm64 /usr/local/bin/dbbackup sudo mv dbbackup-darwin-arm64 /usr/local/bin/dbbackup
``` ```
**Other platforms:** FreeBSD, OpenBSD, NetBSD binaries available in [releases](https://git.uuxo.net/PlusOne/dbbackup/releases). **Other platforms:** FreeBSD, OpenBSD, NetBSD binaries available in [releases](https://git.uuxo.net/UUXO/dbbackup/releases).
### Build from Source ### Build from Source
Requires Go 1.19 or later: Requires Go 1.19 or later:
```bash ```bash
git clone https://git.uuxo.net/uuxo/dbbackup.git git clone https://git.uuxo.net/UUXO/dbbackup.git
cd dbbackup cd dbbackup
go build go build
``` ```
@@ -113,7 +116,7 @@ Menu-driven interface for all operations. Press arrow keys to navigate, Enter to
**Main Menu:** **Main Menu:**
``` ```
🗄️ Database Backup Tool - Interactive Menu Database Backup Tool - Interactive Menu
Target Engine: PostgreSQL | MySQL | MariaDB Target Engine: PostgreSQL | MySQL | MariaDB
Switch with ←/→ or t • Cluster backup requires PostgreSQL Switch with ←/→ or t • Cluster backup requires PostgreSQL
@@ -139,25 +142,25 @@ Press ↑/↓ to navigate • Enter to select • q to quit
**Backup Execution:** **Backup Execution:**
``` ```
🔄 Backup Execution Backup Execution
Type: Single Database Type: Single Database
Database: production_db Database: production_db
Duration: 2m 35s Duration: 2m 35s
Backing up database 'production_db'... Backing up database 'production_db'...
⌨️ Press Ctrl+C to cancel Press Ctrl+C to cancel
``` ```
**Backup Completed:** **Backup Completed:**
``` ```
🔄 Backup Execution Backup Execution
Type: Cluster Backup Type: Cluster Backup
Duration: 8m 12s Duration: 8m 12s
Backup completed successfully! Backup completed successfully!
Backup created: cluster_20251128_092928.tar.gz Backup created: cluster_20251128_092928.tar.gz
Size: 22.5 GB (compressed) Size: 22.5 GB (compressed)
@@ -165,20 +168,20 @@ Press ↑/↓ to navigate • Enter to select • q to quit
Databases: 7 Databases: 7
Checksum: SHA-256 verified Checksum: SHA-256 verified
⌨️ Press Enter or ESC to return to menu Press Enter or ESC to return to menu
``` ```
**Restore Preview:** **Restore Preview:**
``` ```
🔍 Cluster Restore Preview Cluster Restore Preview
📦 Archive Information Archive Information
File: cluster_20251128_092928.tar.gz File: cluster_20251128_092928.tar.gz
Format: PostgreSQL Cluster (tar.gz) Format: PostgreSQL Cluster (tar.gz)
Size: 22.5 GB Size: 22.5 GB
Created: 2025-11-28 09:29:28 Created: 2025-11-28 09:29:28
🎯 Cluster Restore Options Cluster Restore Options
Host: localhost:5432 Host: localhost:5432
Existing Databases: 5 found Existing Databases: 5 found
- myapp_production - myapp_production
@@ -186,40 +189,40 @@ Press ↑/↓ to navigate • Enter to select • q to quit
- users_db - users_db
- inventory_db - inventory_db
- reports_db - reports_db
Clean All First: true (press 'c' to toggle) Clean All First: true (press 'c' to toggle)
🛡️ Safety Checks Safety Checks
Archive integrity ... passed [OK] Archive integrity ... passed
Disk space ... 140 GB available [OK] Disk space ... 140 GB available
Required tools ... pg_restore, psql found [OK] Required tools ... pg_restore, psql found
Target database ... accessible [OK] Target database ... accessible
🔥 WARNING: Cluster cleanup enabled WARNING: Cluster cleanup enabled
7 existing database(s) will be DROPPED before restore! 7 existing database(s) will be DROPPED before restore!
This ensures a clean disaster recovery scenario This ensures a clean disaster recovery scenario
Ready to restore Ready to restore
⌨️ c: Toggle cleanup | Enter: Proceed | Esc: Cancel c: Toggle cleanup | Enter: Proceed | Esc: Cancel
``` ```
**Restore Progress:** **Restore Progress:**
``` ```
🔄 Restoring Cluster Restoring Cluster
Phase: Restoring databases Phase: Restoring databases
Status: Restoring database: myapp_production (18 GB) Status: Restoring database: myapp_production (18 GB)
Elapsed: 3m 42s Elapsed: 3m 42s
⌨️ Press Ctrl+C to cancel Press Ctrl+C to cancel
``` ```
**Configuration Settings:** **Configuration Settings:**
``` ```
⚙️ Configuration Settings Configuration Settings
> Database Type: postgres (PostgreSQL) > Database Type: postgres (PostgreSQL)
Target database engine (press Enter to cycle: PostgreSQL MySQL MariaDB) Target database engine (press Enter to cycle: PostgreSQL -> MySQL -> MariaDB)
CPU Workload Type: balanced CPU Workload Type: balanced
Backup Directory: /root/db_backups Backup Directory: /root/db_backups
Compression Level: 6 Compression Level: 6
@@ -232,7 +235,7 @@ Elapsed: 3m 42s
SSL Mode: prefer SSL Mode: prefer
Auto Detect CPU Cores: true Auto Detect CPU Cores: true
📋 Current Configuration: Current Configuration:
Target DB: PostgreSQL (postgres) Target DB: PostgreSQL (postgres)
Database: root@localhost:5432 Database: root@localhost:5432
Backup Dir: /root/db_backups Backup Dir: /root/db_backups
@@ -244,10 +247,10 @@ Elapsed: 3m 42s
**Database Status & Health Check:** **Database Status & Health Check:**
``` ```
📊 Database Status & Health Check Database Status & Health Check
Connection Status: Connection Status:
Connected Connected
Database Type: PostgreSQL (postgres) Database Type: PostgreSQL (postgres)
Host: localhost:5432 Host: localhost:5432
@@ -257,28 +260,28 @@ Version: PostgreSQL 17.2
Databases Found: 5 Databases Found: 5
All systems operational All systems operational
⌨️ Press any key to return to menu Press any key to return to menu
``` ```
**Backup Archive Manager (List & Manage):** **Backup Archive Manager (List & Manage):**
``` ```
🗄️ Backup Archive Manager Backup Archive Manager
Total Archives: 15 | Total Size: 156.8 GB Total Archives: 15 | Total Size: 156.8 GB
FILENAME FORMAT SIZE MODIFIED FILENAME FORMAT SIZE MODIFIED
─────────────────────────────────────────────────────────────────────────────────────────────── ---------------------------------------------------------------------------------------
> cluster_20250115_093000.tar.gz PostgreSQL Cluster 18.5 GB 2025-01-15 09:30 > [OK] cluster_20250115_093000.tar.gz PostgreSQL Cluster 18.5 GB 2025-01-15 09:30
myapp_prod_20250114.dump.gz PostgreSQL Custom 12.3 GB 2025-01-14 14:22 [OK] myapp_prod_20250114.dump.gz PostgreSQL Custom 12.3 GB 2025-01-14 14:22
analytics_20250114.sql.gz PostgreSQL SQL 2.1 GB 2025-01-14 14:20 [OK] analytics_20250114.sql.gz PostgreSQL SQL 2.1 GB 2025-01-14 14:20
cluster_20250113.tar.gz PostgreSQL Cluster 18.2 GB 2025-01-13 09:15 [OK] cluster_20250113.tar.gz PostgreSQL Cluster 18.2 GB 2025-01-13 09:15
users_db_20241220.dump.gz PostgreSQL Custom 850 MB 2024-12-20 10:30 [!!] users_db_20241220.dump.gz PostgreSQL Custom 850 MB 2024-12-20 10:30
inventory_20250112.sql PostgreSQL SQL 456 MB 2025-01-12 16:42 [OK] inventory_20250112.sql PostgreSQL SQL 456 MB 2025-01-12 16:42
reports_20250111.dump PostgreSQL Custom 128 MB 2025-01-11 08:15 [OK] reports_20250111.dump PostgreSQL Custom 128 MB 2025-01-11 08:15
⌨️ ↑/↓: Navigate | r: Restore | v: Verify | i: Info | d: Delete | R: Refresh | Esc: Back Up/Down: Navigate | r: Restore | v: Verify | i: Info | d: Delete | R: Refresh | Esc: Back
``` ```
#### Interactive Features #### Interactive Features
@@ -475,7 +478,7 @@ Create reduced-size backup for testing/development:
**Warning:** Sample backups may break referential integrity. **Warning:** Sample backups may break referential integrity.
#### 🔐 Encrypted Backups (v3.0) #### Encrypted Backups (v3.0)
Encrypt backups with AES-256-GCM for secure storage: Encrypt backups with AES-256-GCM for secure storage:
@@ -526,7 +529,7 @@ echo "my-secure-passphrase" > passphrase.txt
Encryption is automatically detected - no need to specify `--encrypted` flag on restore. Encryption is automatically detected - no need to specify `--encrypted` flag on restore.
#### 📦 Incremental Backups (v3.0) #### Incremental Backups (v3.0)
Create space-efficient incremental backups (PostgreSQL & MySQL): Create space-efficient incremental backups (PostgreSQL & MySQL):
@@ -686,16 +689,16 @@ Verify backup files using SHA-256 checksums and metadata validation:
``` ```
Verifying 3 backup file(s)... Verifying 3 backup file(s)...
📁 mydb_20251125.dump mydb_20251125.dump
VALID VALID
Size: 2.5 GiB Size: 2.5 GiB
SHA-256: 7e166d4cb7276e1310d76922f45eda0333a6aeac... SHA-256: 7e166d4cb7276e1310d76922f45eda0333a6aeac...
Database: mydb (postgresql) Database: mydb (postgresql)
Created: 2025-11-25T19:00:00Z Created: 2025-11-25T19:00:00Z
────────────────────────────────────────────────── --------------------------------------------------
Total: 3 backups Total: 3 backups
Valid: 3 Valid: 3
``` ```
#### Cleanup Old Backups #### Cleanup Old Backups
@@ -738,25 +741,25 @@ The cleanup command uses a safe retention policy:
**Output:** **Output:**
``` ```
🗑️ Cleanup Policy: Cleanup Policy:
Directory: /backups Directory: /backups
Retention: 30 days Retention: 30 days
Min backups: 5 Min backups: 5
📊 Results: Results:
Total backups: 12 Total backups: 12
Eligible for deletion: 7 Eligible for deletion: 7
Deleted 7 backup(s): Deleted 7 backup(s):
- old_db_20251001.dump - old_db_20251001.dump
- old_db_20251002.dump - old_db_20251002.dump
... ...
📦 Kept 5 backup(s) Kept 5 backup(s)
💾 Space freed: 15.2 GiB Space freed: 15.2 GiB
────────────────────────────────────────────────── --------------------------------------------------
Cleanup completed successfully Cleanup completed successfully
``` ```
**Options:** **Options:**
@@ -1167,13 +1170,13 @@ export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
``` ```
**Features:** **Features:**
- Streaming uploads (memory efficient) - Streaming uploads (memory efficient)
- Multipart upload for large files (>100MB) - Multipart upload for large files (>100MB)
- Progress tracking - Progress tracking
- Automatic metadata sync (.sha256, .info files) - Automatic metadata sync (.sha256, .info files)
- Restore directly from cloud URIs - Restore directly from cloud URIs
- Cloud backup verification - Cloud backup verification
- TUI integration for all cloud providers - TUI integration for all cloud providers
See [CLOUD.md](CLOUD.md) for detailed setup guides, testing with Docker, and advanced configuration. See [CLOUD.md](CLOUD.md) for detailed setup guides, testing with Docker, and advanced configuration.
@@ -1493,17 +1496,6 @@ dbbackup/
└── build_all.sh # Multi-platform build └── build_all.sh # Multi-platform build
``` ```
## Support
- Repository: https://git.uuxo.net/uuxo/dbbackup
- Issues: Use repository issue tracker
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
Copyright 2025 dbbackup Project
## Recent Improvements ## Recent Improvements
- **Production-Ready**: 100% test coverage, zero critical issues, fully validated - **Production-Ready**: 100% test coverage, zero critical issues, fully validated
@@ -1522,26 +1514,20 @@ dbbackup is production-ready for backup and disaster recovery operations on Post
## Contributing ## Contributing
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. We welcome contributions. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
**Ways to contribute:** **Ways to contribute:**
- 🐛 Report bugs and issues - Report bugs and issues
- 💡 Suggest new features - Suggest new features
- 📝 Improve documentation - Improve documentation
- 🔧 Submit pull requests - Submit pull requests
- ⭐ Star the project!
## Support ## Support
**Issues & Bug Reports:** https://git.uuxo.net/PlusOne/dbbackup/issues - Repository: https://git.uuxo.net/UUXO/dbbackup
- Mirror: https://github.com/PlusOne/dbbackup
**Security Issues:** See [SECURITY.md](SECURITY.md) for responsible disclosure - Issues: https://git.uuxo.net/UUXO/dbbackup/issues
- Security: See [SECURITY.md](SECURITY.md) for responsible disclosure
**Documentation:**
- [README.md](README.md) - Main documentation
- [PITR.md](PITR.md) - Point-in-Time Recovery guide
- [DOCKER.md](DOCKER.md) - Docker usage
- [CONTRIBUTING.md](CONTRIBUTING.md) - Contribution guidelines
## License ## License