aboutsummaryrefslogtreecommitdiff
path: root/weed/replication
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-05-25 17:19:17 -0700
committerChris Lu <chris.lu@gmail.com>2021-05-25 17:19:20 -0700
commitdce1f02c9efcf78f05e7f81f3cc116e594591642 (patch)
tree393d8ffb33ade1ded77e7fea00ab3afa2150fa86 /weed/replication
parent35ca9638c422c63383f922ace499472d1b897c77 (diff)
downloadseaweedfs-dce1f02c9efcf78f05e7f81f3cc116e594591642.tar.xz
seaweedfs-dce1f02c9efcf78f05e7f81f3cc116e594591642.zip
filer.backup: backup to local directory optionally is incremental
fixed one issue with https://github.com/chrislusf/seaweedfs/issues/2084
Diffstat (limited to 'weed/replication')
-rw-r--r--weed/replication/sink/localsink/local_sink.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/weed/replication/sink/localsink/local_sink.go b/weed/replication/sink/localsink/local_sink.go
index 2b9b3e69a..e40ad8bb6 100644
--- a/weed/replication/sink/localsink/local_sink.go
+++ b/weed/replication/sink/localsink/local_sink.go
@@ -15,8 +15,9 @@ import (
)
type LocalSink struct {
- Dir string
- filerSource *source.FilerSource
+ Dir string
+ filerSource *source.FilerSource
+ isIncremental bool
}
func init() {
@@ -35,15 +36,17 @@ func (localsink *LocalSink) isMultiPartEntry(key string) bool {
return strings.HasSuffix(key, ".part") && strings.Contains(key, "/.uploads/")
}
-func (localsink *LocalSink) initialize(dir string) error {
+func (localsink *LocalSink) initialize(dir string, isIncremental bool) error {
localsink.Dir = dir
+ localsink.isIncremental = isIncremental
return nil
}
func (localsink *LocalSink) Initialize(configuration util.Configuration, prefix string) error {
dir := configuration.GetString(prefix + "directory")
+ isIncremental := configuration.GetBool(prefix + "is_incremental")
glog.V(4).Infof("sink.local.directory: %v", dir)
- return localsink.initialize(dir)
+ return localsink.initialize(dir, isIncremental)
}
func (localsink *LocalSink) GetSinkToDirectory() string {
@@ -51,7 +54,7 @@ func (localsink *LocalSink) GetSinkToDirectory() string {
}
func (localsink *LocalSink) IsIncremental() bool {
- return true
+ return localsink.isIncremental
}
func (localsink *LocalSink) DeleteEntry(key string, isDirectory, deleteIncludeChunks bool, signatures []int32) error {