Cross device backup manager. https://git.qwjyh.net/PKGBUILDs/xdbm
Find a file
2024-12-02 03:07:48 +09:00
.github/workflows Update CI and add lint (#18) 2024-12-01 21:13:42 +09:00
src fix typo 2024-12-02 03:07:48 +09:00
tests run fmt 2024-12-02 03:00:56 +09:00
.gitignore init 2023-08-25 23:50:47 +09:00
Cargo.lock pretty printing (#15) 2024-06-27 18:06:27 +09:00
Cargo.toml pretty printing (#15) 2024-06-27 18:06:27 +09:00
CHANGELOG.md update: CHANGELOG 2024-12-02 03:05:43 +09:00
README.md update readme 2024-07-15 12:12:38 +09:00

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