#123 Support borg extract and mount for restoration use cases

已关闭
witten1年前创建 · 9 条评论
witten 评论于 1年前

From a borgmatic user, reported via email:

I use borgmatic/borgbackup to manage backups for various IT workflows.
Borgmatic has been a great help at hiding Borg’s rather messy command
line for day to day operations.

However in trying to transition my workflow to Ansible I’ve noticed
that the lack of a feature complicates what should be a trivial task.
Namely the lack of either “borg extract” or “borg mount” equivalents.
This is extremely useful for restoring stateful applications (GitLab,
EMail, Databases etc) from a backup to a new server. This is a crucial
component for any DevOps/IT to test systematically as an untested
backup might as well not exist.

It would be good to see the “restore” functionality added to
Borgmatic. While I can get it to work in Ansible, (running the raw
borg commands) it means I end up duplicating information in my
Playbook and Borgmatic config. The fragility of this setup has already
bit me in the rear.

Sample usage
sudo borgmatic --extract /path # Extracts the latest archive
sudo borgmatic --extract /path XXXX # Extracts archive with matching hash

Give it some thought, but for me at least its the last thing that
prevents borgmatic being the perfect little tool for the common use
cases of Borg.

From a borgmatic user, reported via email: > I use borgmatic/borgbackup to manage backups for various IT workflows. > Borgmatic has been a great help at hiding Borg's rather messy command > line for day to day operations. > > However in trying to transition my workflow to Ansible I've noticed > that the lack of a feature complicates what should be a trivial task. > Namely the lack of either "borg extract" or "borg mount" equivalents. > This is extremely useful for restoring stateful applications (GitLab, > EMail, Databases etc) from a backup to a new server. This is a crucial > component for any DevOps/IT to test systematically as an untested > backup might as well not exist. > > It would be good to see the "restore" functionality added to > Borgmatic. While I can get it to work in Ansible, (running the raw > borg commands) it means I end up duplicating information in my > Playbook and Borgmatic config. The fragility of this setup has already > bit me in the rear. > > ##### Sample usage > > ```bash > sudo borgmatic --extract /path # Extracts the latest archive > sudo borgmatic --extract /path XXXX # Extracts archive with matching hash > ``` > > Give it some thought, but for me at least its the last thing that > prevents borgmatic being the perfect little tool for the common use > cases of Borg.
witten 评论于 1年前
所有者

Thanks for the feature idea. That sounds like a very reasonable feature for the use case you mention. I recently added support for “borg init” to borgmatic, so I could see doing something similar for borg extract and mount.

Also note that there is already an “extract” consistency check implemented in borgmatic, which basically does a test extraction of the most recent archive so as to validate your backups. Not as flexible as what you’re talking about, but it might be a start.

Thanks for the feature idea. That sounds like a very reasonable feature for the use case you mention. I recently added support for "borg init" to borgmatic, so I could see doing something similar for borg extract and mount. Also note that there is already an "extract" consistency check implemented in borgmatic, which basically does a test extraction of the most recent archive so as to validate your backups. Not as flexible as what you're talking about, but it might be a start.
varac 评论于 1年前

Just needed to restore a backup, and found that borgmatic doesn’t support this by now. Please add it soon, restore is actually really neeed :)

Just needed to restore a backup, and found that borgmatic doesn't support this by now. Please add it soon, restore is actually really neeed :)
witten1年前 在代码提交中引用了该工单
witten 评论于 1年前
所有者

Extract has been released as part of borgmatic 1.2.16. Mount is still to-do, so I’ll leave this ticket open.

Docs here: https://torsion.org/borgmatic/docs/how-to/restore-a-backup/

Enjoy!

Extract has been released as part of borgmatic 1.2.16. Mount is still to-do, so I'll leave this ticket open. Docs here: https://torsion.org/borgmatic/docs/how-to/restore-a-backup/ Enjoy!
varac 评论于 1年前

Awesome !!!

Awesome !!!
varac 评论于 1年前

Work great, one thing missing is the ability to list the files of an archive, which would be done in borg list ${BORG_REPO}::${BORG_SET} and could be implemented with borgmatic --list --archive ${BORG_SET}. Right now it complains about it:

borgmatic --list --archive varac-2019-02-18T12:17:04.114434
The --archive option can only be used with the --extract option

Work great, one thing missing is the ability to list the files of an archive, which would be done in `borg list ${BORG_REPO}::${BORG_SET}` and could be implemented with `borgmatic --list --archive ${BORG_SET}`. Right now it complains about it: ``` borgmatic --list --archive varac-2019-02-18T12:17:04.114434 The --archive option can only be used with the --extract option ```
varac 评论于 1年前

Also, an equivalent of borg info ${BORG_REPO}::${BORG_SET} would be great, like borgmatic --info --archive ${BORG_SET}. That would complete a convenient restore functionality.

Also, an equivalent of `borg info ${BORG_REPO}::${BORG_SET}` would be great, like `borgmatic --info --archive ${BORG_SET}`. That would complete a convenient restore functionality.
varac 评论于 1年前

I added #140 and #141 for the missing pieces.

I added #140 and #141 for the missing pieces.
witten 评论于 1年前
所有者

Good ideas. Thanks for filing. I’ll follow up on those tickets.

Good ideas. Thanks for filing. I'll follow up on those tickets.
witten 评论于 7 个月前
所有者

borgmatic mount has finally been implemented! Released as part of version 1.4.15. There’s also a matching borgmatic umount action. Documentation is here: https://torsion.org/borgmatic/docs/how-to/extract-a-backup/#mount-a-filesystem

`borgmatic mount` has finally been implemented! Released as part of version 1.4.15. There's also a matching `borgmatic umount` action. Documentation is here: https://torsion.org/borgmatic/docs/how-to/extract-a-backup/#mount-a-filesystem
witten 关闭这个问题 7 个月前
登录 并参与到对话中。
未选择里程碑
未指派成员
2 名参与者
通知
到期时间

未设置到期时间。

依赖工单

此工单当前没有任何依赖。

正在加载...
这个人很懒,什么都没留下。