Repository navigation
v3.2.2 - Cron Fallback Scheduler & CLI Fixes
·
42 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Highlights
This release adds a cron fallback scheduler for environments without systemd (Alpine Linux, RHEL/CentOS 6, Docker containers) and fixes five CLI bugs affecting restore, status, and backup listing commands.
Added
- Cron Fallback Scheduler (BACKUPD-038): Automatic scheduling on non-systemd systems
- Auto-detects scheduler: systemd → cron → manual instructions
- New
lib/scheduler.shmodule with unified API detect_scheduler()— Returns "systemd", "cron", or "none"oncalendar_to_cron()— Converts OnCalendar expressions to cron format- Cron entries managed via
/etc/cron.d/backupd - Scripts detect
BACKUPD_CRON=1and add 0-5 min random delay (simulates RandomizedDelaySec) - Status display shows scheduler type: "(systemd)" or "(cron)"
- Full multi-job support with cron fallback in
create_job_timer() - Uninstall cleans up cron entries automatically
- Target systems: Alpine Linux, RHEL/CentOS 6, Docker containers
Fixed
- CLI Trap Scope (BACKUPD-037): Fixed
temp_output: unbound variableerror on script interrupt — changed trap fromRETURN EXIT INT TERMtoRETURNonly - Exit Code Masking (BACKUPD-037): Fixed CLI returning exit code 1 on success — now captures exit code into variable before exit
- Restore Script Path (BACKUPD-037): Fixed
restore db/filesfailing with "script not found" — uses unifiedrestore.shwithRESTORE_TYPEenv var - List Backups (BACKUPD-037): Fixed
restore --listshowing legacy rclone patterns — now queriesrestic snapshots --tag - Status Command (BACKUPD-037): Fixed
statusreturning exit code 1 when log files have no matches — added|| trueto grep pipelines
Technical
- New
lib/scheduler.shmodule (373 lines) with OnCalendar-to-cron conversion - Cron entries include
nice -n 10 ionice -c3for systemd parity - Generated scripts embed
BACKUPD_CRON=1check with random delay scheduler.shadded toinstall.shandupdater.shmodule lists
Checksums
See SHA256SUMS file for verification.