package main import ( "log" "os" "path" "time" ) func backup(backupPath string) { channel := time.Tick(12 * time.Hour) os.MkdirAll(backupPath, os.FileMode(0777)) go func() { for { folderName := time.Now().Format("Jan_02_15_04_05_2006") log.Println("Making backup " + folderName) os.MkdirAll(path.Join(backupPath, folderName), os.FileMode(0777)) err := saveListings(&partnerListings, path.Join(backupPath, folderName, "partner.toml")) if err != nil { log.Println(err.Error()) } err = saveListings(&swapListings, path.Join(backupPath, folderName, "swap.toml")) if err != nil { log.Println(err.Error()) } os.Link(versionFile, path.Join(backupPath, folderName, "version.txt")) <-channel } }() }