The daemon backup tool
The backup
tool, which we will call backupd
, will be responsible for periodically checking the paths listed in the filedb
database, hashing the folders to see whether anything has changed, and using the backup
package to actually perform the archiving of the folders that need it.
Create a new folder called backupd
alongside the backup/cmds/backup
folder, and let's jump right into handling the fatal errors and flags:
func main() { var fatalErr error defer func() { if fatalErr != nil { log.Fatalln(fatalErr) } }() var ( interval = flag.Duration("interval", 10 * time.Second, "interval between checks") archive = flag.String("archive", "archive", "path to archive location") dbpath = flag.String("db", "./db", "path to filedb database") ) flag.Parse() }
You must be quite used to seeing this kind of code by now. We defer the handling of fatal...