github.com/matrixorigin/matrixone@v1.2.0/pkg/frontend/backup.go (about) 1 // Copyright 2023 Matrix Origin 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package frontend 16 17 import ( 18 "context" 19 20 "github.com/matrixorigin/matrixone/pkg/backup" 21 "github.com/matrixorigin/matrixone/pkg/defines" 22 "github.com/matrixorigin/matrixone/pkg/fileservice" 23 "github.com/matrixorigin/matrixone/pkg/sql/parsers/tree" 24 ) 25 26 func handleStartBackup(ses *Session, execCtx *ExecCtx, sb *tree.BackupStart) error { 27 return doBackup(execCtx.reqCtx, ses, sb) 28 } 29 30 func doBackup(ctx context.Context, ses FeSession, bs *tree.BackupStart) error { 31 var ( 32 err error 33 ) 34 conf := &backup.Config{ 35 HAkeeper: getGlobalPu().HAKeeperClient, 36 Metas: backup.NewMetas(), 37 } 38 conf.SharedFs, err = fileservice.Get[fileservice.FileService](getGlobalPu().FileService, defines.SharedFileServiceName) 39 if err != nil { 40 return err 41 } 42 return backup.Backup(ctx, bs, conf) 43 }