Browse Source

replicate: use creation time for local incremental file sink

related to https://github.com/chrislusf/seaweedfs/pull/1762
pull/1778/head
Chris Lu 4 years ago
parent
commit
da08402ba2
  1. 1
      weed/command/filer_replication.go
  2. 3
      weed/command/scaffold.go
  3. 8
      weed/replication/replicator.go
  4. 5
      weed/replication/sink/localsink/local_incremental_sink.go

1
weed/command/filer_replication.go

@ -11,7 +11,6 @@ import (
_ "github.com/chrislusf/seaweedfs/weed/replication/sink/b2sink"
_ "github.com/chrislusf/seaweedfs/weed/replication/sink/filersink"
_ "github.com/chrislusf/seaweedfs/weed/replication/sink/gcssink"
_ "github.com/chrislusf/seaweedfs/weed/replication/sink/localincrementalsink"
_ "github.com/chrislusf/seaweedfs/weed/replication/sink/localsink"
_ "github.com/chrislusf/seaweedfs/weed/replication/sink/s3sink"
"github.com/chrislusf/seaweedfs/weed/replication/sub"

3
weed/command/scaffold.go

@ -354,11 +354,10 @@ directory = "/buckets"
[sink.local]
enabled = false
directory = "/data"
todays_date_format = "" # set this to 2006-02-01 for incremental backup
[sink.local_incremental]
# all replicated files are under creation time as yyyy-mm-dd directories
enabled = false
# all replicated files are under modification time date directory tree
directory = "/backup"
[sink.filer]

8
weed/replication/replicator.go

@ -43,13 +43,13 @@ func (r *Replicator) Replicate(ctx context.Context, key string, message *filer_p
}
var dateKey string
if r.sink.GetName() == "local_incremental" {
var mTime int64
var cTime int64
if message.NewEntry != nil {
mTime = message.NewEntry.Attributes.Mtime
cTime = message.NewEntry.Attributes.Crtime
} else if message.OldEntry != nil {
mTime = message.OldEntry.Attributes.Mtime
cTime = message.OldEntry.Attributes.Crtime
}
dateKey = time.Unix(mTime, 0).Format("2006-01-02")
dateKey = time.Unix(cTime, 0).Format("2006-01-02")
}
newKey := util.Join(r.sink.GetSinkToDirectory(), dateKey, key[len(r.source.Dir):])
glog.V(3).Infof("replicate %s => %s", key, newKey)

5
weed/replication/sink/localincrementalsink/local_incremental_sink.go → weed/replication/sink/localsink/local_incremental_sink.go

@ -1,12 +1,11 @@
package localincrementalsink
package localsink
import (
"github.com/chrislusf/seaweedfs/weed/replication/sink"
"github.com/chrislusf/seaweedfs/weed/replication/sink/localsink"
)
type LocalIncSink struct {
localsink.LocalSink
LocalSink
}
func (localincsink *LocalIncSink) GetName() string {
Loading…
Cancel
Save