Parse df output locally using awk to find the % field and extract
the 3 size fields before it. Handles wrapped lines and CR chars.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move awk parsing to the remote to avoid SSH output encoding issues
that caused empty fields when parsing locally.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
df --output=pcent is not available on all systems. Use grep -oP to
extract the percentage field from standard df output.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use df --output=pcent for reliable single-column output instead of
parsing multi-column df output through awk over SSH.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add TARGET_INCLUDE field for rsync include patterns (comma-separated)
- Pass TARGET_INCLUDE and TARGET_EXCLUDE to rsync in transfer_folder
- Include mode uses --include='*/' + patterns + --exclude='*' + --prune-empty-dirs
- Abort backup if remote disk usage >= 95%
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Disk info is now shown directly in the table. Speed test and detailed
disk info buttons/commands are no longer needed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Disk Info: runs df -h and df -i on remote via SSH (or locally)
- Speed Test: uploads/downloads 10MB test file via rsync, measures Mbps
- Both available as CLI commands: gniza remotes disk-info/speed-test --name=NAME
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Complete Linux backup manager with Whiptail TUI and CLI interface.
Adapted from gniza4cp (cPanel backup tool) with target/profile-based
system replacing cPanel-specific features.
- 14 core engine modules (backup, restore, targets, remotes, transfer, etc.)
- 11 Whiptail TUI screens (full CRUD for targets/remotes/schedules)
- CLI entrypoint with subcommands for scripting/cron
- Support for SSH, local, S3, and Google Drive remotes
- rsync --link-dest incremental snapshots
- Root and user mode (XDG paths)
- 70 passing tests
- Config templates, installer, uninstaller
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>