79 lines
1.8 KiB
Markdown
79 lines
1.8 KiB
Markdown
# Getting Started
|
|
|
|
## Installation
|
|
|
|
TODO `cargo install`
|
|
|
|
|
|
## First Descriptor
|
|
|
|
Run `datman init` in an empty directory.
|
|
|
|
`datman.toml` will be created.
|
|
|
|
|
|
## Adding a Directory Source
|
|
|
|
Add a section like the following to your `datman.toml`:
|
|
|
|
```toml
|
|
[sources.mysourcename]
|
|
directory = "/path/to/source"
|
|
hostname = "myhostname"
|
|
```
|
|
|
|
The `hostname` field is currently unused but may be used in the future. It should be set to the hostname of the machine where the data resides.
|
|
|
|
|
|
## Begin Labelling
|
|
|
|
Run `datman ilabel [source name]` to start an interactive labelling session.
|
|
|
|
The labelling session will be guided with instructions similar to the ones shown below.
|
|
|
|
```
|
|
The following label mappings are available:
|
|
For "pocket", press 1!
|
|
For "precious", press 2!
|
|
For "bulky", press 3!
|
|
To split a directory, press 's'!
|
|
To exclude an entry, press 'x'!
|
|
To apply a pattern, press 'p'...
|
|
```
|
|
|
|
Numbers assign a literal label to the file in question.
|
|
|
|
|
|
## Interactively Browse Tree
|
|
|
|
Run `datman ibrowse [source]` to interactively browse the tree.
|
|
|
|
|
|
## Adding a Destination
|
|
|
|
Change to a different directory and run `yama init` to create a Yama pile.
|
|
|
|
Then edit your `datman.toml` and add:
|
|
|
|
```toml
|
|
[piles.mypilename]
|
|
path = "path/to/my/pile"
|
|
included_labels = ["precious"]
|
|
```
|
|
|
|
Include whichever labels you would like to include in the backup to that destination.
|
|
|
|
|
|
## Running a Backup
|
|
|
|
Run `datman backup-all [destination name]` or `datman backup-one [source name] [destination name]`.
|
|
|
|
|
|
## Extracting a Backup
|
|
|
|
Run `datman extract --accept-partial [pile name] [destination directory of extraction, will be created]`.
|
|
|
|
If not running as root, add `--skip-metadata` to prevent failing on `chown`.
|
|
|
|
To extract the first backup of each source before a certain date/datetime, use `--before [date/datetime]`. Similar, intuitive behaviour exists for `--after [date/datetime]`.
|