← GoBack projectGoBack / Documentation

Daemon

The daemon is started via `goback start --dir ...`, schedules jobs, and runs until SIGINT/SIGTERM.

Startup Lifecycle

  1. 1.Initialize logger and create app scheduler.
  2. 2.Create base directory structure (`config.yml` + `specs.d`).
  3. 3.Load core config and all valid spec files.
  4. 4.Register each valid backup task in scheduler.
  5. 5.Start scheduler and block until SIGINT/SIGTERM.
  6. 6.Shutdown scheduler cleanly.

Backup Pipeline

  1. 1.Run selected drivers in parallel: MariaDB, directory, and volumes.
  2. 2.Build final `.tar.gz` from working directory.
  3. 3.Encrypt to `.enc` when key is available.
  4. 4.Upload to configured repositories (currently S3 engines).
  5. 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).