Add a tutorial
This commit is contained in:
parent
81bf5405e7
commit
39282224cc
1 changed files with 60 additions and 3 deletions
63
README.md
63
README.md
|
@ -17,11 +17,71 @@ Create a backup before running any command and double check all your operations.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
As a pre-requesite, you need a recent version of [Go](golang.org/).
|
||||||
|
|
||||||
```
|
```
|
||||||
go get git.deuxfleurs.fr/quentin/seafile_recovery
|
go get git.deuxfleurs.fr/quentin/seafile_recovery
|
||||||
~/go/bin/seafile_recovery --help
|
~/go/bin/seafile_recovery --help
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Tutorial
|
||||||
|
|
||||||
|
Let's suppose you start by knowing nothing about your storage folder and its repositories,
|
||||||
|
start by picking one repository ID in the `storage/commits` folder and run the `head` subcommand. For our example,
|
||||||
|
we will use `0011d396-4890-463a-8266-bcbd978d8d1c`.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ seafile_recovery head 0011d396-4890-463a-8266-bcbd978d8d1c
|
||||||
|
2021/04/28 15:10:34 Repo contains 6 commits
|
||||||
|
2021/04/28 15:10:34 Repo has 1 sources
|
||||||
|
2021/04/28 15:10:34 Repo has 1 sinks
|
||||||
|
2021/04/28 15:10:34 Proposing following HEAD:
|
||||||
|
RootId: 5911dd2d363f591e43df4e80591d0a54975f2aaf
|
||||||
|
CreatorName: quentin@example.com
|
||||||
|
Creator: 0000000000000000000000000000000000000000
|
||||||
|
Description: Added "telecom-reclaimed-web-single-page.pdf".
|
||||||
|
Ctime: 2021-04-26 12:22:59 +0200 CEST
|
||||||
|
RepoName: Ma bibliothèque
|
||||||
|
RepoDesc: Ma bibliothèque
|
||||||
|
```
|
||||||
|
|
||||||
|
We know learnt some information about the repository, especially its name ("Ma bibliothèque"), who did the last change ("quentin@example.com") and the RootId ("5911dd2d363f591e43df4e80591d0a54975f2aaf").
|
||||||
|
|
||||||
|
We can now explore its last file hierarchy thanks to the RootId (we can only copy a part of the Id to keep the command more readable):
|
||||||
|
|
||||||
|
```
|
||||||
|
$ seafile_recovery ls 0011d396-4890-463a-8266-bcbd978d8d1c --dir=5911dd2
|
||||||
|
2021/04/28 15:15:40 5911dd /
|
||||||
|
2021/04/28 15:15:40 b88ab9 /seafile-tutorial.doc
|
||||||
|
2021/04/28 15:15:40 d24616 /Capture d’écran de 2021-04-11 23-07-31.png
|
||||||
|
2021/04/28 15:15:40 f123de /My Folder/
|
||||||
|
2021/04/28 15:15:40 15be4d /My Folder/telecom-reclaimed-web-single-page.pdf
|
||||||
|
2021/04/28 15:15:40 380a0e /My Folder/Capture d’écran vidéo de 19-12-2020 10:30:15.webm
|
||||||
|
2021/04/28 15:15:40 Total size: 25.6M
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, let's suppose I want to extract the folder "My Folder" and its content and put it in a folder named `out`:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ~/go/bin/seafile_recovery cp 0011d396-4890-463a-8266-bcbd978d8d1c --dir=f123de ./out
|
||||||
|
2021/04/28 15:17:28 f123de /
|
||||||
|
2021/04/28 15:17:28 15be4d /telecom-reclaimed-web-single-page.pdf
|
||||||
|
2021/04/28 15:17:28 380a0e /Capture d’écran vidéo de 19-12-2020 10:30:15.webm
|
||||||
|
$ ls out/
|
||||||
|
'Capture d’écran vidéo de 19-12-2020 10:30:15.webm' telecom-reclaimed-web-single-page.pdf
|
||||||
|
```
|
||||||
|
|
||||||
|
Finally, if I prefer to upload this content directly on a S3 bucket, you can do:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ~/go/bin/seafile_recovery cp 0011d396-4890-463a-8266-bcbd978d8d1c --dir=f123de s3://ACCESS_KEY:SECRET_KEY@ENDPOINT/REGION/BUCKET[/PREFIX]
|
||||||
|
2021/04/28 15:17:28 f123de /
|
||||||
|
2021/04/28 15:17:28 15be4d /telecom-reclaimed-web-single-page.pdf
|
||||||
|
2021/04/28 15:17:28 380a0e /Capture d’écran vidéo de 19-12-2020 10:30:15.webm
|
||||||
|
```
|
||||||
|
|
||||||
|
**Be careful !** This tool is not intended to change your seafile backend from local filesystem to the S3 backend. Migrating to the S3 backend implies to keep Seafile's objects which is a totally different job. Appropriate scripts are available from Seafile's official distribution.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -44,7 +104,6 @@ Options:
|
||||||
|
|
||||||
## Seafile on-disk storage
|
## Seafile on-disk storage
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
storage/commits/(repoid) storage/fs/(repoid) storage/blocks/(repoid)
|
storage/commits/(repoid) storage/fs/(repoid) storage/blocks/(repoid)
|
||||||
(plain text json) (json + zlib) (chunk of raw data)
|
(plain text json) (json + zlib) (chunk of raw data)
|
||||||
|
@ -72,8 +131,6 @@ Initial│69/ca6b5..├──────────? └────
|
||||||
X no parent
|
X no parent
|
||||||
```
|
```
|
||||||
|
|
||||||
## Tutorial
|
|
||||||
|
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue