Commit 825852b0 authored by szh's avatar szh

add err log

parent c5c899b2
...@@ -11,6 +11,9 @@ import ( ...@@ -11,6 +11,9 @@ import (
"os" "os"
) )
var (
path string
)
func RaspberryChan() { func RaspberryChan() {
for { for {
...@@ -19,6 +22,7 @@ func RaspberryChan() { ...@@ -19,6 +22,7 @@ func RaspberryChan() {
if value.Name == "" { if value.Name == "" {
continue continue
} }
path = GetAbsPath(setting.BityuanSetting.Name)
switch value.Name { switch value.Name {
case "ROLLBACK": case "ROLLBACK":
err := rollback() err := rollback()
...@@ -84,7 +88,6 @@ func rollback() error { ...@@ -84,7 +88,6 @@ func rollback() error {
time.Sleep(time.Second * 2) time.Sleep(time.Second * 2)
tlog.Info("rollback start","height",pai.LocalLastHeight,"rollbackheight",rollheight) tlog.Info("rollback start","height",pai.LocalLastHeight,"rollbackheight",rollheight)
var buf bytes.Buffer var buf bytes.Buffer
path := GetAbsPath(setting.BityuanSetting.Name)
if path == "" { if path == "" {
tlog.Error("GetAbsPath","err","path not exists") tlog.Error("GetAbsPath","err","path not exists")
BityuanFlag.Flag = false BityuanFlag.Flag = false
...@@ -112,6 +115,7 @@ func backup() error { ...@@ -112,6 +115,7 @@ func backup() error {
ok,err := SafeCloseNode() ok,err := SafeCloseNode()
if err != nil { if err != nil {
BityuanFlag.Flag = false BityuanFlag.Flag = false
tlog.Error("SafeCloseNode","err",err)
return err return err
} }
if !ok { if !ok {
...@@ -123,20 +127,19 @@ func backup() error { ...@@ -123,20 +127,19 @@ func backup() error {
} }
func SafeBackup() error { func SafeBackup() error {
backup := exec.Command("cp","-r","datadir","datadir_backup") var buf bytes.Buffer
return backup.Run() backup := exec.Command("cp","-r",path+"/datadir",path+"/datadir_backup")
backup.Stderr = &buf
if err := backup.Run();err != nil {
tlog.Error("SafeBackup","err",buf.String())
return err
}
return nil
} }
func recoverNode() error { func recoverNode() error {
BityuanFlag.Lock.Lock() BityuanFlag.Lock.Lock()
defer BityuanFlag.Lock.Unlock() defer BityuanFlag.Lock.Unlock()
remove := exec.Command("rm","-rf","datadir")
err := remove.Run()
if err != nil {
tlog.Error("rm -rf datadir","err",err)
return err
}
path := GetAbsPath(setting.BityuanSetting.Name)
if path == "" { if path == "" {
tlog.Error("path empty","err","node not exists") tlog.Error("path empty","err","node not exists")
return errors.New("node not exists") return errors.New("node not exists")
...@@ -148,7 +151,14 @@ func recoverNode() error { ...@@ -148,7 +151,14 @@ func recoverNode() error {
return errors.New("backup file not exists") return errors.New("backup file not exists")
} }
} }
recover := exec.Command("cp","-r","datadir_backup","datadir") remove := exec.Command("rm","-rf",path+"/datadir")
err := remove.Run()
if err != nil {
tlog.Error("rm -rf datadir","err",err)
return err
}
recover := exec.Command("cp","-r",backupPath,path+"/datadir")
err = recover.Run() err = recover.Run()
if err != nil { if err != nil {
tlog.Error("cp -r datadir_backup datadir","err",err) tlog.Error("cp -r datadir_backup datadir","err",err)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment