docker-db-backup/main.go

40 lines
644 B
Go
Raw Normal View History

2021-08-18 17:47:49 +00:00
package main
2021-08-18 19:50:15 +00:00
import (
"log"
2021-12-05 12:42:35 +00:00
"time"
2021-08-18 19:50:15 +00:00
)
2021-08-18 17:47:49 +00:00
func main() {
2021-08-18 19:50:15 +00:00
c, err := getClient()
if err != nil {
log.Fatalf("Could not create client: %s", err)
}
2021-12-05 12:42:35 +00:00
for {
updateFullBackupPath()
2021-08-18 19:50:15 +00:00
2021-12-05 12:42:35 +00:00
containers, err := getContainers(c)
if err != nil {
log.Fatalf("Could not get containers: %s", err)
}
2021-08-18 19:50:15 +00:00
2021-12-05 12:42:35 +00:00
storeContainers(c, containers)
2021-08-18 19:50:15 +00:00
2021-12-05 12:42:35 +00:00
err = cleanupOldBackups()
if err != nil {
log.Fatalf("Could not clean old backups: %s", err)
}
2021-12-05 12:38:36 +00:00
2021-12-05 12:42:35 +00:00
err = dumpAllDatabases(c)
if err != nil {
log.Fatalf("Could not dump databases: %s", err)
}
2021-08-18 19:50:15 +00:00
2021-12-05 12:42:35 +00:00
log.Println("Done.")
log.Printf("Sleeping for %s\n", config.Interval)
time.Sleep(config.Interval)
}
2021-08-18 17:47:49 +00:00
}