The ZFS based Backup System is a tiny backup system based on the functionality offered by ZFS.
The system is developed under Linux (Ubuntu) and OSX so these are the tested systems.
This service will launch remote sync backup copies and will maintain a registry in database. The service will provide the needed ZFS buckets for backups storage.
It will manage backup, archive, deletion and restoring.
The system will use rsync
to send the backups from the servers to this service.
Packages used and references:
- zazab/runcmd: golang package for run local/remote shell commands
- jdkanani/commandcast: Run command on multiple hosts over SSH (Golang)
- golang/sync/errgroup: Package errgroup provides synchronization, error propagation, and Context cancelation for groups of goroutines working on subtasks of a common task. Doc @ https://godoc.org/golang.org/x/sync/errgroup
- Go-lang: Mocking exec.Command Using Interfaces by Josh Rendek
- Run a subprocess and connect to it with golang by Murphy Randle
- Cron like package by Rob Figueiredo