-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdesign.txt
69 lines (55 loc) · 1.41 KB
/
design.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Goals
Backup files to another server on network
Support windows and raspbery pi
Only sends files which have changes (modified date)
restore a single file or directory at a time
server can remove backup snapshots without having to do long waits
Optional
Encypted
Multiple destinations
Priority directories
Overview
Client and a server (same binary?)
single config file
Not sure how to schedule it yet... cron? windows scheduler?
Data types
- File
- StoredFile
- Backupset
- Serverset
- Config (stores data read from config file)
Files need to have
* path
* modified date
* size
* permissions (later)
StoredFile
* storage hash (this will be different per file per backup)
Backupset
This is a list of all the files from one backup session
Its a list of Files, sorted in the order of path to make path walking simple when performing a backup
ServerSet
This is two lists of backuped files
both sorted in order of storage hash. This will allow easy comparison of backupsets
we also store the most recent backup of that hash, which will allow for old files to be pruned
Actions on types
File
* Get Path, size, modified date
* Send File
StoredFile
* calculate hash
* store load delete
BackupSet
* create set
* compare set
* walk set (generates a list of files to send one at a time)
ServerSet
* initialise set
* update set
* compare old set
OtherServer actions
* insert file
* remove file
* report size
* store FileSet
* list FileSets