|
9 | 9 |
|
10 | 10 | "go.mongodb.org/mongo-driver/bson"
|
11 | 11 |
|
| 12 | + "github.com/percona/percona-backup-mongodb/pbm/backup" |
12 | 13 | "github.com/percona/percona-backup-mongodb/pbm/errors"
|
13 | 14 | "github.com/percona/percona-backup-mongodb/sdk"
|
14 | 15 | )
|
@@ -66,22 +67,28 @@ func handleDiagnostic(
|
66 | 67 | case sdk.CmdBackup:
|
67 | 68 | meta, err := pbm.GetBackupByOpID(ctx, opts.opid, sdk.GetBackupByNameOptions{})
|
68 | 69 | if err != nil {
|
69 |
| - return nil, errors.Wrap(err, "get backup meta") |
70 |
| - } |
71 |
| - err = writeToFile(opts.path, opts.opid+".backup.json", meta) |
72 |
| - if err != nil { |
73 |
| - return nil, errors.Wrapf(err, |
74 |
| - "failed to save %s", filepath.Join(opts.path, opts.opid+".backup.json")) |
| 70 | + if !errors.Is(err, sdk.ErrNotFound) { |
| 71 | + return nil, errors.Wrap(err, "get backup meta") |
| 72 | + } |
| 73 | + } else { |
| 74 | + err = writeToFile(opts.path, opts.opid+".backup.json", meta) |
| 75 | + if err != nil { |
| 76 | + return nil, errors.Wrapf(err, |
| 77 | + "failed to save %s", filepath.Join(opts.path, opts.opid+".backup.json")) |
| 78 | + } |
75 | 79 | }
|
76 | 80 | case sdk.CmdRestore:
|
77 | 81 | meta, err := pbm.GetRestoreByOpID(ctx, opts.opid)
|
78 | 82 | if err != nil {
|
79 |
| - return nil, errors.Wrap(err, "get restore meta") |
80 |
| - } |
81 |
| - err = writeToFile(opts.path, opts.opid+".restore.json", meta) |
82 |
| - if err != nil { |
83 |
| - return nil, errors.Wrapf(err, |
84 |
| - "failed to save %s", filepath.Join(opts.path, opts.opid+".restore.json")) |
| 83 | + if !errors.Is(err, sdk.ErrNotFound) { |
| 84 | + return nil, errors.Wrap(err, "get restore meta") |
| 85 | + } |
| 86 | + } else { |
| 87 | + err = writeToFile(opts.path, opts.opid+".restore.json", meta) |
| 88 | + if err != nil { |
| 89 | + return nil, errors.Wrapf(err, |
| 90 | + "failed to save %s", filepath.Join(opts.path, opts.opid+".restore.json")) |
| 91 | + } |
85 | 92 | }
|
86 | 93 | }
|
87 | 94 |
|
|
0 commit comments