Startup Lifecycle
- 1.Initialize logger and create app scheduler.
- 2.Create base directory structure (`config.yml` + `specs.d`).
- 3.Load core config and all valid spec files.
- 4.Register each valid backup task in scheduler.
- 5.Start scheduler and block until SIGINT/SIGTERM.
- 6.Shutdown scheduler cleanly.
Backup Pipeline
- 1.Run selected drivers in parallel: MariaDB, directory, and volumes.
- 2.Build final `.tar.gz` from working directory.
- 3.Encrypt to `.enc` when key is available.
- 4.Upload to configured repositories (currently S3 engines).
- 5.Apply retention `keep_last` on uploaded objects.
System Service Setup
Use the provided `examples/goback.service` as a baseline and adjust binary location and user.
sudo cp examples/goback.service /etc/systemd/system/goback.service
sudo systemctl daemon-reload
sudo systemctl enable --now goback
sudo systemctl status goback
Operational Notes
- Docker engine init failures do not stop daemon startup; volume backups are skipped.
- MariaDB dump tool lookup expects `mariadb-dump` or `mysqldump` in PATH.
- Current backup temp directories are not removed automatically (cleanup deferred in code).