mirror of
https://github.com/restic/rest-server.git
synced 2025-10-19 07:33:21 +00:00
parent
b786c5d1cc
commit
f02ee7386a
2 changed files with 11 additions and 4 deletions
|
@ -14,10 +14,6 @@ Rest Server requires Go 1.7 or higher to build. The only tested compiler is the
|
|||
|
||||
The required version of restic backup client to use with Rest Server is [v0.7.1](https://github.com/restic/restic/releases/tag/v0.7.1) or higher.
|
||||
|
||||
If you have a local repository created with an older version of restic client, which you would now like to serve via Rest Server, you need to first create missing subdirectories in the data directory. Run this simple one-liner in the repository directory:
|
||||
|
||||
```for i in {0..255}; do mkdir -p $(printf "data/%02x" $i); done```
|
||||
|
||||
## Installation
|
||||
|
||||
### From source
|
||||
|
|
11
handlers.go
11
handlers.go
|
@ -367,6 +367,17 @@ func SaveBlob(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
tf, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_EXCL, 0600)
|
||||
if os.IsNotExist(err) {
|
||||
// the error is caused by a missing directory, create it and retry
|
||||
mkdirErr := os.MkdirAll(filepath.Dir(path), 0700)
|
||||
if mkdirErr != nil {
|
||||
log.Print(mkdirErr)
|
||||
} else {
|
||||
// try again
|
||||
tf, err = os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_EXCL, 0600)
|
||||
}
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
if Config.Debug {
|
||||
log.Print(err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue