-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathTODO.txt
26 lines (26 loc) · 1.4 KB
/
TODO.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
- make list command show snapshots as a tree. Maybe optional
- investigate rsync option -y, --fuzzy
- how to deal with oldest snapshot?
- special prune for highest interval:
- by free block/inode space
- option "-keepOldest":
wether to keep the oldest snapshot (thus being able to go back to the beginning)
or not, saving disk space.
- think about if it is useful to add the full origin path name to the repository subdirs
- regularly log memory stats
- deal with negative time shifts in transComplete()
- subcommand "schedule" to show details about schedules:
- expected number of snapshots
- expected disk usage, given a start value + daily changes
- handle errors in RemoveAll (no write permission, what to do?)
- in case of restarting snaprd after a long time it will remove too many snapshots
- handle that case in prune()
- avoid passing pointers through channels (minimize possibility of data races)
- Read http://golang.org/ref/spec#Receive_operator again and rethink subcmdRun()
design. Use close(c) when appropriate.
- support more than one directory to backup (avoid having to run many instances on a system)
- mail hook in case of failed/missed backup
- Test failure and non-failure rsync errors (e. g. 24)
- "snaprd log" subcmd to print log ring buffer
- extend sched subcmd to be more useful
- parse rsync output and fill some extra info struct that can be stored in the repository