summaryrefslogtreecommitdiff
path: root/database/backups.go
diff options
context:
space:
mode:
Diffstat (limited to 'database/backups.go')
-rw-r--r--database/backups.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/database/backups.go b/database/backups.go
index ab2155f..a588576 100644
--- a/database/backups.go
+++ b/database/backups.go
@@ -49,3 +49,47 @@ func ReceivedBackup(dbConn *sql.DB, hostname string) error {
return err
}
+
+func BackupedHostnamesInTheLastDay(dbConn *sql.DB) ([]string, error) {
+ log.Println("listing hostnames that have been backed up in the last day")
+
+ rows, err := dbConn.Query(`SELECT DISTINCT hostname FROM backups WHERE received_on > ?;`, time.Now().Add(-24*time.Hour))
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+
+ hostnames := []string{}
+ for rows.Next() {
+ var hostname string
+ err := rows.Scan(&hostname)
+ if err != nil {
+ return nil, err
+ }
+ hostnames = append(hostnames, hostname)
+ }
+
+ return hostnames, nil
+}
+
+func ReceivedHostnames(dbConn *sql.DB) ([]string, error) {
+ log.Println("listing received hostnames")
+
+ rows, err := dbConn.Query(`SELECT DISTINCT hostname FROM backups;`)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+
+ hostnames := []string{}
+ for rows.Next() {
+ var hostname string
+ err := rows.Scan(&hostname)
+ if err != nil {
+ return nil, err
+ }
+ hostnames = append(hostnames, hostname)
+ }
+
+ return hostnames, nil
+}