forked from TrueCloudLab/restic
Fixed issue #1608 - Use --time argument properly
Backups via stdin will now handle --time argument and pass it down as expected
This commit is contained in:
parent
4478d633e2
commit
901e1b129c
2 changed files with 16 additions and 4 deletions
|
@ -246,6 +246,17 @@ func readBackupFromStdin(opts BackupOptions, gopts GlobalOptions, args []string)
|
|||
return errors.Fatal("filename is invalid (may not contain a directory, slash or backslash)")
|
||||
}
|
||||
|
||||
var t time.Time
|
||||
if opts.TimeStamp != "" {
|
||||
parsedT, err := time.Parse("2006-01-02 15:04:05", opts.TimeStamp)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
t = parsedT
|
||||
} else {
|
||||
t = time.Now()
|
||||
}
|
||||
|
||||
if gopts.password == "" {
|
||||
return errors.Fatal("unable to read password from stdin when data is to be read from stdin, use --password-file or $RESTIC_PASSWORD")
|
||||
}
|
||||
|
@ -270,6 +281,7 @@ func readBackupFromStdin(opts BackupOptions, gopts GlobalOptions, args []string)
|
|||
Repository: repo,
|
||||
Tags: opts.Tags,
|
||||
Hostname: opts.Hostname,
|
||||
TimeStamp: t,
|
||||
}
|
||||
|
||||
_, id, err := r.Archive(gopts.ctx, fn, os.Stdin, newArchiveStdinProgress(gopts))
|
||||
|
|
|
@ -19,6 +19,7 @@ type Reader struct {
|
|||
|
||||
Tags []string
|
||||
Hostname string
|
||||
TimeStamp time.Time
|
||||
}
|
||||
|
||||
// Archive reads data from the reader and saves it to the repo.
|
||||
|
@ -26,9 +27,8 @@ func (r *Reader) Archive(ctx context.Context, name string, rd io.Reader, p *rest
|
|||
if name == "" {
|
||||
return nil, restic.ID{}, errors.New("no filename given")
|
||||
}
|
||||
|
||||
debug.Log("start archiving %s", name)
|
||||
sn, err := restic.NewSnapshot([]string{name}, r.Tags, r.Hostname, time.Now())
|
||||
sn, err := restic.NewSnapshot([]string{name}, r.Tags, r.Hostname, r.TimeStamp)
|
||||
if err != nil {
|
||||
return nil, restic.ID{}, err
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue