mb-backup-manager/QUICK_VALIDATION_GUIDE.md

160 lines
4.3 KiB
Markdown
Raw Normal View History

2025-10-02 16:10:01 +00:00
# Quick Validation Guide - Backup Persistence Fix
## 🚦 Quick Test - 5 Minutes
### Step 1: Create Test Backup
```bash
# Run a manual backup
bash /home/litespeed/mb-backups/backup_all.sh manual
# Save snapshot list
bash /home/litespeed/mb-backups/view_snapshots.sh all > /tmp/before_uninstall.txt
cat /tmp/before_uninstall.txt
```
### Step 2: Verify Password Locations
```bash
# Both should exist and be identical
cat /etc/restic-password
cat /data/.restic-password
# Verify they match
diff /etc/restic-password /data/.restic-password
# (No output = identical ✅)
```
### Step 3: Uninstall Addon
1. Go to Add-ons in Jelastic/Virtuozzo dashboard
2. Find "MightyBox WordPress Backup/Restore Addon"
3. Click Uninstall
4. Confirm uninstallation
### Step 4: Verify Data Persists
```bash
# Password should still exist in shared storage
ls -la /data/.restic-password
# Should show: -rw------- 1 root root 16 [date] /data/.restic-password
# Repository structure should exist
ls -la /data/
# Should show: config, data, index, keys, locks, snapshots directories
```
### Step 5: Reinstall Addon
1. Go to Add-ons in Jelastic/Virtuozzo dashboard
2. Install "MightyBox WordPress Backup/Restore Addon"
3. Wait for installation to complete
### Step 6: Verify Backups Restored
```bash
# List all snapshots
bash /home/litespeed/mb-backups/view_snapshots.sh all > /tmp/after_reinstall.txt
# Compare before and after
diff /tmp/before_uninstall.txt /tmp/after_reinstall.txt
# ✅ SUCCESS if: No differences (all snapshots preserved)
# ❌ FAILURE if: Snapshots missing or "wrong password" errors
```
## ✅ Success Indicators
| Check | Expected Result | Command |
|-------|----------------|---------|
| Password in shared storage | File exists | `ls /data/.restic-password` |
| Password restored | Files identical | `diff /etc/restic-password /data/.restic-password` |
| Repository accessible | No errors | `export RESTIC_PASSWORD=$(cat /etc/restic-password); restic -r /data snapshots` |
| Snapshots preserved | Same count before/after | Compare snapshot lists |
| Can restore | Restoration works | `bash restore_backup_direct.sh <snapshot_id>` |
## 🔍 Troubleshooting
### Issue: "Wrong password" error after reinstall
```bash
# Fix: Restore password from shared storage
cp /data/.restic-password /etc/restic-password
chmod 644 /etc/restic-password
# Verify access
export RESTIC_PASSWORD=$(cat /etc/restic-password)
restic -r /data snapshots
```
### Issue: No snapshots visible after reinstall
```bash
# Check if repository exists
ls -la /data/ | grep -E "config|data|index|keys"
# Check password
cat /etc/restic-password /data/.restic-password
# Manual repository check
export RESTIC_PASSWORD=$(cat /data/.restic-password)
restic -r /data snapshots
```
### Issue: /data not accessible
```bash
# Verify mount
mount | grep /data
df -h /data
# Check permissions
ls -ld /data
# Should be: drwxr-xr-x or similar
# Fix permissions if needed
chmod 755 /data
```
## 📊 Installation Logs to Check
During reinstall, you should see these messages:
```
[VALIDATION] Checking storage mount at /data...
[VALIDATION] Storage mount validated successfully
[VALIDATION] /data is accessible and writable
[INSTALL] Starting Restic installation...
[INSTALL] Using existing password from shared storage ← KEY MESSAGE
[INSTALL] Password restored from shared storage ← KEY MESSAGE
[INSTALL] Repository already exists and is accessible ← KEY MESSAGE
[INSTALL] Found X existing snapshot(s) ← KEY MESSAGE
[INSTALL] Installation completed successfully!
```
**Bad signs:**
- "Creating new password" (should use existing)
- "Initializing new repository" (should use existing)
- "Found 0 existing snapshot(s)" (should show your snapshots)
## 🎯 One-Line Verification
```bash
# Run this after reinstall - should show your old backups
export RESTIC_PASSWORD=$(cat /data/.restic-password) && restic -r /data snapshots && echo "✅ SUCCESS: Backups preserved!"
```
## 📞 Report Issues
If validation fails, collect this information:
```bash
# Diagnostic Info
echo "=== Password Check ==="
ls -la /etc/restic-password /data/.restic-password
echo "=== Repository Structure ==="
ls -la /data/
echo "=== Snapshot Access ==="
export RESTIC_PASSWORD=$(cat /data/.restic-password)
restic -r /data snapshots 2>&1
echo "=== Installation Logs ==="
tail -50 /var/log/backup_addon.log
```
Save output and report to support team.