#backup #devices #git-repository #manager #multiple #storage #add

app xdbm

Cross device backup manager, which manages backups on several storages mounted on multiple devices

4 releases (2 breaking)

new 0.3.0 Dec 2, 2024
0.2.1 Jun 19, 2024
0.2.0 May 21, 2024
0.1.0 Mar 18, 2024

#161 in Filesystem

Download history 5/week @ 2024-09-16 22/week @ 2024-09-23 10/week @ 2024-09-30

215 downloads per month

MIT OR Apache-1.0

105KB
2.5K SLoC

xdbm

Cross device backup manager, which manages backups on several storages mounted on multiple devices with a single repository.

Install

  • git is required for sync

Usage

  1. xdbm init to setup new device(i.e. PC).
  2. xdbm storage add to add storages, or xdbm storage bind to make existing storages available on new device.
  3. xdbm backup add to add new backup configuration.
  4. xdbm backup done to tell xdbm to write backup execution datetime.
  5. xdbm storage list and xdbm backup list to see their status.

Hints

  • xdbm path to see the path of repository. Use git to sync it among the devices.
  • xdbm completion <SHELL> to generate completion scripts for shells.
  • Give --help to see helps on the commands.

TODO:

  • split subcommands to functions
  • write test for init subcommand
    • write test with existing repo
    • with ssh credential
      • ssh-agent
      • specify key
  • write test for storage subcommand
    • storage add online
    • storage add directory
    • storage list
  • update storage bind command
  • add storage remove command
  • add sync subcommand
  • add check subcommand
    • check that all parents exist
  • reorganize cmd option for storage
    • use subcommand
  • backup subcommands
    • backup add
      • test for backup add
    • backup list
      • status printing
    • backup done
  • fancy display
  • json output
  • no commit option

Dependencies

~18–30MB
~456K SLoC