Cross device backup manager. https://git.qwjyh.net/PKGBUILDs/xdbm
Find a file
2024-06-19 18:26:44 +09:00
.github/workflows Create rust.yml 2024-04-25 16:52:06 +09:00
src update byte formatting 2024-06-19 18:19:35 +09:00
tests fixup! fix test to fetch refspecs from the git2 2024-05-04 15:03:02 +09:00
.gitignore init 2023-08-25 23:50:47 +09:00
Cargo.lock update dependencies (especially byte_unit) 2024-06-19 18:07:31 +09:00
Cargo.toml update unicode-width 2024-06-19 18:09:20 +09:00
CHANGELOG.md update changelog 2024-06-19 18:24:36 +09:00
README.md update metadata & readme 2024-03-18 08:58:33 +09:00

xdbm

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

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