MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / ComposeBackup

Method ComposeBackup

agent/app/service/backup_compose.go:74–105  ·  view source on GitHub ↗
(req dto.CommonBackup)

Source from the content-addressed store, hash-verified

72}
73
74func (u *BackupService) ComposeBackup(req dto.CommonBackup) error {
75 timeNow := time.Now().Format(constant.DateTimeSlimLayout) + common.RandStrAndNum(5)
76 fileName := req.FileName
77 if fileName == "" {
78 fileName = fmt.Sprintf("%s_%s.tar.gz", req.Name, timeNow)
79 }
80 if !strings.HasSuffix(fileName, ".tar.gz") {
81 fileName += ".tar.gz"
82 }
83 itemDir := fmt.Sprintf("compose/%s", req.Name)
84 backupDir := path.Join(global.Dir.LocalBackupDir, itemDir)
85 record := &model.BackupRecord{
86 Type: req.Type,
87 Name: req.Name,
88 SourceAccountIDs: "1",
89 DownloadAccountID: 1,
90 FileDir: itemDir,
91 FileName: fileName,
92 TaskID: req.TaskID,
93 Status: constant.StatusWaiting,
94 Description: req.Description,
95 }
96 if err := backupRepo.CreateRecord(record); err != nil {
97 global.LOG.Errorf("save compose backup record failed, err: %v", err)
98 return err
99 }
100 if err := handleComposeBackup(req, nil, record.ID, backupDir, fileName); err != nil {
101 backupRepo.UpdateRecordByMap(record.ID, map[string]interface{}{"status": constant.StatusFailed, "message": err.Error()})
102 return err
103 }
104 return nil
105}
106
107func (u *BackupService) ComposeRecover(req dto.CommonRecover) error {
108 return handleComposeRecover(req, nil)

Callers

nothing calls this directly

Calls 5

handleComposeBackupFunction · 0.85
CreateRecordMethod · 0.65
UpdateRecordByMapMethod · 0.65
FormatMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected