浏览代码

Fix dump of log and custom directory in dump cmd

Now, the dump cmd uses setting.CustomPath and setting.LogRootPath
instead of setting.WorkDir which was kind of broken if the gogs
binary was in a different directory than gogs data.
Additionally, the backup of setting.CustomPath directory is only done
if it exists.
kakwa 9 年之前
父节点
当前提交
a59b1fcc21
共有 1 个文件被更改,包括 8 次插入4 次删除
  1. 8 4
      cmd/dump.go

+ 8 - 4
cmd/dump.go

@@ -68,17 +68,21 @@ func runDump(ctx *cli.Context) {
 		log.Fatalf("Fail to create %s: %v", fileName, err)
 		log.Fatalf("Fail to create %s: %v", fileName, err)
 	}
 	}
 
 
-	workDir, _ := setting.WorkDir()
 	if err := z.AddFile("gogs-repo.zip", reposDump); err !=nil {
 	if err := z.AddFile("gogs-repo.zip", reposDump); err !=nil {
 		log.Fatalf("Fail to include gogs-repo.zip: %v", err)
 		log.Fatalf("Fail to include gogs-repo.zip: %v", err)
 	}
 	}
 	if err := z.AddFile("gogs-db.sql", dbDump); err !=nil {
 	if err := z.AddFile("gogs-db.sql", dbDump); err !=nil {
 		log.Fatalf("Fail to include gogs-db.sql: %v", err)
 		log.Fatalf("Fail to include gogs-db.sql: %v", err)
 	}
 	}
-	if err := z.AddDir("custom", path.Join(workDir, "custom")); err !=nil {
-		log.Fatalf("Fail to include custom: %v", err)
+	customDir, err := os.Stat(setting.CustomPath)
+	if err == nil && customDir.IsDir() {
+		if err := z.AddDir("custom", setting.CustomPath); err !=nil {
+			log.Fatalf("Fail to include custom: %v", err)
+	    }
+	} else {
+		log.Printf("Custom dir %s doesn't exist, skipped", setting.CustomPath)
 	}
 	}
-	if err := z.AddDir("log", path.Join(workDir, "log")); err !=nil {
+	if err := z.AddDir("log", setting.LogRootPath); err !=nil {
 		log.Fatalf("Fail to include log: %v", err)
 		log.Fatalf("Fail to include log: %v", err)
 	}
 	}
 	// FIXME: SSH key file.
 	// FIXME: SSH key file.