copy config file to backup if unmarshal error occurs
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"io"
|
||||
"math/rand"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -18,3 +20,20 @@ func ShuffleSlice(a []int) {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
rand.Shuffle(len(a), func(i, j int) { a[i], a[j] = a[j], a[i] })
|
||||
}
|
||||
|
||||
func CopyFile(srcPath, dstPath string) error {
|
||||
fin, err := os.Open(srcPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer fin.Close()
|
||||
|
||||
fout, err := os.Create(dstPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer fout.Close()
|
||||
|
||||
_, err = io.Copy(fout, fin)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user