mirror of
				https://github.com/1Panel-dev/1Panel.git
				synced 2025-10-31 11:15:58 +08:00 
			
		
		
		
	fix: 解决压缩备份恢复失败的问题 (#5322)
This commit is contained in:
		
							parent
							
								
									60df7786d8
								
							
						
					
					
						commit
						ac384628c9
					
				
					 5 changed files with 12 additions and 4 deletions
				
			
		|  | @ -113,7 +113,7 @@ func handleWebsiteRecover(website *model.Website, recoverFile string, isRollback | |||
| 		defer func() { | ||||
| 			if !isOk { | ||||
| 				global.LOG.Info("recover failed, start to rollback now") | ||||
| 				if err := handleWebsiteRecover(website, rollbackFile, true, secret); err != nil { | ||||
| 				if err := handleWebsiteRecover(website, rollbackFile, true, ""); err != nil { | ||||
| 					global.LOG.Errorf("rollback website %s from %s failed, err: %v", website.Alias, rollbackFile, err) | ||||
| 					return | ||||
| 				} | ||||
|  |  | |||
|  | @ -191,7 +191,7 @@ func handleUnTar(sourceFile, targetDir string, secret string) error { | |||
| 		extraCmd := "openssl enc -d -aes-256-cbc -k " + secret + " -in " + sourceFile + " | " | ||||
| 		commands = fmt.Sprintf("%s tar -zxvf - -C %s", extraCmd, targetDir+" > /dev/null 2>&1") | ||||
| 	} else { | ||||
| 		commands = fmt.Sprintf("tar -zxvf %s %s", sourceFile+" -C ", targetDir+" > /dev/null 2>&1") | ||||
| 		commands = fmt.Sprintf("tar zxvfC %s %s", sourceFile, targetDir) | ||||
| 	} | ||||
| 	if len(secret) != 0 { | ||||
| 		global.LOG.Debug(strings.ReplaceAll(commands, fmt.Sprintf(" %s ", secret), "******")) | ||||
|  |  | |||
|  | @ -396,7 +396,7 @@ func (u *SnapshotService) handleUnTar(sourceDir, targetDir string, secret string | |||
| 		extraCmd := "openssl enc -d -aes-256-cbc -k " + secret + " -in " + sourceDir + " | " | ||||
| 		commands = fmt.Sprintf("%s tar -zxvf - -C %s", extraCmd, targetDir+" > /dev/null 2>&1") | ||||
| 	} else { | ||||
| 		commands = fmt.Sprintf("tar -zxvf %s %s", sourceDir+" -C ", targetDir+" > /dev/null 2>&1") | ||||
| 		commands = fmt.Sprintf("tar zxvfC %s %s", sourceDir, targetDir) | ||||
| 	} | ||||
| 	if len(secret) != 0 { | ||||
| 		global.LOG.Debug(strings.ReplaceAll(commands, fmt.Sprintf(" %s ", secret), "******")) | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| package client | ||||
| 
 | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"compress/gzip" | ||||
| 	"context" | ||||
| 	"errors" | ||||
|  | @ -136,11 +137,17 @@ func (r *Local) Backup(info BackupInfo) error { | |||
| 	defer outfile.Close() | ||||
| 	global.LOG.Infof("start to pg_dump | gzip > %s.gzip", info.TargetDir+"/"+info.FileName) | ||||
| 	cmd := exec.Command("docker", "exec", r.ContainerName, "pg_dump", "-F", "c", "-U", r.Username, "-d", info.Name) | ||||
| 	var stderr bytes.Buffer | ||||
| 	cmd.Stderr = &stderr | ||||
| 
 | ||||
| 	gzipCmd := exec.Command("gzip", "-cf") | ||||
| 	gzipCmd.Stdin, _ = cmd.StdoutPipe() | ||||
| 	gzipCmd.Stdout = outfile | ||||
| 	_ = gzipCmd.Start() | ||||
| 	_ = cmd.Run() | ||||
| 
 | ||||
| 	if err := cmd.Run(); err != nil { | ||||
| 		return fmt.Errorf("handle backup database failed, err: %v", stderr.String()) | ||||
| 	} | ||||
| 	_ = gzipCmd.Wait() | ||||
| 	return nil | ||||
| } | ||||
|  |  | |||
|  | @ -382,6 +382,7 @@ const search = async () => { | |||
|         pageSize: paginationConfig.pageSize, | ||||
|     }; | ||||
|     const res = await searchSnapshotPage(params); | ||||
|     cleanData.value = false; | ||||
|     data.value = res.data.items || []; | ||||
|     paginationConfig.total = res.data.total; | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue