User Experience Enhancement: Show real-time backup progress instead of just asking if user wants to follow logs. Changes to Backup Progress Display: 1. Automatic Progress Monitoring: - No longer prompts to follow logs - Automatically starts showing journalctl output - Displays PBS client's built-in progress bars and stats - Runs in background with PID tracking 2. Visual Progress Box: ╔════════════════════════════════════════════════════════╗ ║ Backup Progress (Live) ║ ║ Press Ctrl+C to exit (backup continues in background) ║ ╚════════════════════════════════════════════════════════╝ 3. Automatic Completion Detection: - Monitors systemd service with `systemctl is-active` - Polls every 2 seconds until service completes - Kills journal follow process when done - Shows final status (success or failure) 4. Helpful Post-Backup Information: - On success: Shows how to list snapshots - On failure: Shows how to check full logs - Includes repository info for easy copy/paste Applied to Two Functions: - run_backup_now() - Called after initial installation - Main menu option 4 - "Run backup now" Technical Implementation: - Uses `timeout 3600` to prevent runaway journal process - Background journal follow with PID capture - Clean process termination with kill + wait - Proper error handling for failed backups CHANGELOG.md Updates: - Added new "Live backup progress monitoring" feature - Listed all capabilities and use cases This provides immediate visual feedback and shows the user exactly what's happening during the backup process, including file counts, transfer speeds, and compression stats from PBS client. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.5 KiB
4.5 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Intelligent reconfiguration options when PBS client is already installed
- Quick connection-only reconfiguration (server/credentials only)
- Full reconfiguration of all settings
- Reinstall option with reconfiguration
- Exit without changes option
- 3-step connection verification process:
- Step 1: Server reachability test (5s timeout with curl)
- Step 2: Authentication test with automatic SSL fingerprint acceptance
- Step 3: Datastore access verification
- Display available block devices when invalid device is entered
- Step-by-step progress indicators during connection testing
test-connection.sh- Diagnostic script for testing PBS connections manually- Parameterized for security (no hardcoded credentials)
- Tests server reachability, authentication, and datastore access
- Handles SSL fingerprint acceptance interactively
- Comprehensive documentation in README:
- Step-by-step walkthrough of complete installation (14 steps)
- PBS server setup guide (API token creation and permissions)
- Common permission error troubleshooting
- Explanation of backup types, schedules, and retention policies
- Live backup progress monitoring
- Real-time log following when running backups
- Automatic completion detection
- Shows PBS client's built-in progress bars and statistics
- Can exit with Ctrl+C (backup continues in background)
- Applied to both "Run backup now" menu option and post-install backup
Changed
- Installation instructions now use
git cloneinstead ofwget - Connection test provides better user feedback during testing
- Script now detects existing configurations and offers appropriate options
- Block device detection now strips btrfs subvolume notation (e.g.,
[/@]) - Connection test succeeds if authentication works, even if no backups exist yet
- More specific error messages based on which step of connection test fails
- SSL certificate fingerprints are now automatically accepted during setup
- Reduced authentication timeout from 30s to 15s
- README now includes comprehensive step-by-step walkthrough
- Prerequisites section expanded with detailed PBS server setup instructions
- Default realm changed from "pbs" to "pam" (more common for root authentication)
- Default encryption setting changed from "yes" to "no" (user can opt-in if needed)
- Main menu now includes "Run backup now" option for immediate backup testing
Fixed
- CRITICAL: SSL fingerprint prompt no longer causes authentication timeout
- Script now automatically accepts SSL fingerprints by piping 'y' to login
- This was the root cause of "authentication hanging" issues
- CRITICAL: Password/token capture no longer includes newline character
prompt_password()function now outputs formatting to stderr- Added defensive newline stripping when writing config file
- Filters
\nand\rcharacters from passwords usingtr -d '\n\r' - Fixes "authentication failed - invalid credentials" in backup service
- Config file now has properly formatted single-line passwords
- Applied to both
reconfigure_connection()andcreate_systemd_service()
- Script no longer hangs indefinitely when PBS server is unreachable
- Block device auto-detection now correctly handles btrfs subvolumes
- Invalid device paths like
/dev/mapper/root[/@]are now properly cleaned - Connection test now differentiates between network issues and authentication failures
- Shows actual PBS client error messages when authentication fails
- Authentication test now uses correct
logincommand instead of non-existentstatuscommand - Connection test no longer times out due to using wrong PBS client commands
[1.0.0] - 2025-11-01
Added
- Initial release
- Auto-detection of Linux distribution (Ubuntu, Debian, Arch)
- Interactive configuration via console prompts
- Automatic encryption key generation with paper backup
- Systemd service and timer for automated backups
- Configurable retention policies
- Connection testing before finalization
- Immediate backup option after installation
- Support for file-level (.pxar) backups
- Support for block device (.img) backups
- Hybrid backup mode (daily files + weekly block device)
- Comprehensive error handling and logging
- Uninstaller script