# How to backup badgerdb?

**URL:** <https://discuss.dgraph.io/t/how-to-backup-badgerdb/16265>\
**Category:** Badger\
**Tags:** kind:question\
**Created:** [December 8, 2021, 6:43am UTC](https://discuss.dgraph.io/t/how-to-backup-badgerdb/16265 "2021-12-08T06:43:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ahnselina](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/ahnselina/32/9200_2.png) [@ahnselina](https://discuss.dgraph.io/u/ahnselina)\
**Post date:** [December 8, 2021, 6:43am UTC](https://discuss.dgraph.io/t/how-to-backup-badgerdb/16265/1 "2021-12-08T06:43:26Z")

</div>

[https://dgraph.io/docs/badger/get-started/#database-backup](https://dgraph.io/docs/badger/get-started/#database-backup)

> Badger v0.9 provides a CLI tool `badger` , which can do offline backup/restore. Make sure you have `$GOPATH/bin` in your PATH to use this tool.

Do the offline backup/restore CLI tool only provided by badger v0.9? I use badger v3, but I can’t find the CLI tool. If I want to backup badger v3, the only way is to use public API methods `DB.Backup()` and `DB.Load()` ?

---

<div class="post-metadata">

**Author:** ![iluminae](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/iluminae/32/7367_2.png) [@iluminae](https://discuss.dgraph.io/u/iluminae)\
**Post date:** [December 8, 2021, 1:43pm UTC](https://discuss.dgraph.io/t/how-to-backup-badgerdb/16265/2 "2021-12-08T13:43:28Z")

</div>

The CLI tool is in the repo here and is still around: [badger/badger/cmd at master · dgraph-io/badger · GitHub](https://github.com/dgraph-io/badger/tree/master/badger/cmd)

The CLI backup tool just executes db.Backup()/Load()

But db.Backup() is a small wrapper around a badgerdb Stream with a known format for Load() to use, so you could implement whatever you want on your own Stream and have it make more sense for your application maybe.

---

<div class="post-metadata">

**Author:** ![ahnselina](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/ahnselina/32/9200_2.png) [@ahnselina](https://discuss.dgraph.io/u/ahnselina)\
**Post date:** [December 9, 2021, 3:02am UTC](https://discuss.dgraph.io/t/how-to-backup-badgerdb/16265/3 "2021-12-09T03:02:49Z")

</div>

ok, I see, thanks. One another question, when I use the backup API or restore API, must I stop the front writing ops, that is to say, I need stop the business to call backup or restore API?

---

<div class="post-metadata">

**Author:** ![iluminae](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/iluminae/32/7367_2.png) [@iluminae](https://discuss.dgraph.io/u/iluminae)\
**Post date:** [December 9, 2021, 6:13am UTC](https://discuss.dgraph.io/t/how-to-backup-badgerdb/16265/4 "2021-12-09T06:13:11Z")

</div>

for [backup](https://pkg.go.dev/github.com/dgraph-io/badger/v3#DB.Backup), no - for [load](https://pkg.go.dev/github.com/dgraph-io/badger/v3#DB.Load), yes. Check the docs, details are there.

---

<div class="post-metadata">

**Author:** ![ahnselina](https://yyz1.discourse-cdn.com/flex007/user_avatar/discuss.dgraph.io/ahnselina/32/9200_2.png) [@ahnselina](https://discuss.dgraph.io/u/ahnselina)\
**Post date:** [December 9, 2021, 7:17am UTC](https://discuss.dgraph.io/t/how-to-backup-badgerdb/16265/5 "2021-12-09T07:17:14Z")

</div>

OK, thanks
