4
"github.com/spf13/cobra"
5
"github.com/wal-g/tracelog"
6
"github.com/wal-g/wal-g/internal"
7
"github.com/wal-g/wal-g/internal/databases/postgres"
8
"github.com/wal-g/wal-g/internal/multistorage"
9
"github.com/wal-g/wal-g/internal/multistorage/policies"
10
"github.com/wal-g/wal-g/utility"
14
backupListShortDescription = "Prints full list of backups from which recovery is available"
22
backupListCmd = &cobra.Command{
24
Short: backupListShortDescription,
26
Run: func(cmd *cobra.Command, _ []string) {
27
storage, err := postgres.ConfigureMultiStorage(false)
28
tracelog.ErrorLogger.FatalOnError(err)
30
rootFolder := multistorage.SetPolicies(storage.RootFolder(), policies.UniteAllStorages)
31
if targetStorage == "" {
32
rootFolder, err = multistorage.UseAllAliveStorages(rootFolder)
34
rootFolder, err = multistorage.UseSpecificStorage(targetStorage, rootFolder)
36
tracelog.ErrorLogger.FatalOnError(err)
37
tracelog.InfoLogger.Printf("List backups from storages: %v", multistorage.UsedStorages(rootFolder))
39
backupsFolder := rootFolder.GetSubFolder(utility.BaseBackupPath)
41
postgres.HandleDetailedBackupList(backupsFolder, pretty, json)
43
internal.HandleDefaultBackupList(backupsFolder, pretty, json)
53
Cmd.AddCommand(backupListCmd)
57
backupListCmd.Flags().BoolVar(&pretty, PrettyFlag, false,
58
"Prints more readable output in table format")
59
backupListCmd.Flags().BoolVar(&json, JSONFlag, false,
60
"Prints output in JSON format, multiline and indented if combined with --pretty flag")
61
backupListCmd.Flags().BoolVar(&detail, DetailFlag, false,
62
"Prints extra DB-specific backup details")
63
backupListCmd.Flags().StringVar(&targetStorage, "target-storage", "",
64
targetStorageDescription)