Add command 'snapshots'

This commit is contained in:
Alexander Neumann 2014-08-04 22:55:54 +02:00
parent e8b83e460f
commit 500f4f9997
2 changed files with 42 additions and 0 deletions

View file

@ -0,0 +1,41 @@
package main
import (
"errors"
"fmt"
"log"
"github.com/fd0/khepri"
)
const TimeFormat = "02.01.2006 15:04:05 -0700"
func commandSnapshots(repo *khepri.Repository, args []string) error {
if len(args) != 0 {
return errors.New("usage: snapshots")
}
snapshot_ids, err := repo.List(khepri.TYPE_REF)
if err != nil {
log.Fatalf("error loading list of snapshot ids: %v", err)
}
fmt.Printf("found snapshots:\n")
for _, id := range snapshot_ids {
snapshot, err := khepri.LoadSnapshot(repo, id)
if err != nil {
log.Printf("error loading snapshot %s: %v", id, err)
continue
}
fmt.Printf("%s %s@%s %s %s\n",
snapshot.Time.Format(TimeFormat),
snapshot.Username,
snapshot.Hostname,
snapshot.Dir,
id)
}
return nil
}

View file

@ -31,6 +31,7 @@ func init() {
commands["backup"] = commandBackup
commands["restore"] = commandRestore
commands["list"] = commandList
commands["snapshots"] = commandSnapshots
}
func main() {