blob: 9198ac48e7e5d00499babe318e27c3169608e149 (
plain)
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
|
# -- BUGS -- #
- $1 == /path/, where /path is configured behaves strangely.
`- $1 == /path is fine.
`- A backup is created in $PWD/
# -- TODO -- #
- For ssh, set up one single connection (maybe configurable?).
`- ssh -oControlPath=/tmp/root-readable/something.sock \
-oControlMaster=yes \
-oControlPersist $remote /bin/true
`- ssh -oControlPath=/tmp/root-readable/something.sock
- Replace echo by printf(-functions).
- Set up default configuration file.
- [consider] When installing, copy the config file to both /etc and
/usr/share, such that sourcing from the latter location removes the need to
specify default options in the script itself.
- Test for read/write access at some point.
- Better error reporting.
- Use autotools.
- Per dirpath rsync_args.
- Allow for resuming of backups.
`- See rsync flags
`- --ignore-existing
`- Not a good idea if a notable amount of time passed.
`- [question] What happens in case of partially transferred files?
`- --delete-during, --delete-excluded
- Shell completion of configured backup paths.
- Better error handling on failure (of rsync).
- Use ask().
`- Allow for configuration of default answer.
- [consider] Create subdirectories per year and/or month.
- [consider] Get date on source host.
- Named backups to allow for different destinations per source (and shorter
names).
# -- PROBLEMS -- #
- rsync bug: https://bugzilla.samba.org/show_bug.cgi?id=13445
- Permissions.
`- Suppress error output by 2>/dev/null.
`- Save errors in a var by 'var="`cmd 2>&1`"'.
`- Better: Print different error-text (test $? -gt 0).
`- Or: Simply leave it as is.
`- Best(?): test -r (read access)
- No read-access
`- to $bakpath/...
`- to $dirpath/...
`- Solutions similar to 'permissions' above.
- No write access to $dirpath/...
`- Maybe check by running chown / test -w.
`- Should return errors if not possible.
`- One could offer an exit option to the user
`- or auto fix using sudo.
# -- IDEAS -- #
- colorized Output.
`- optional (-c)
- Use Hexadecimal numbers for by_number.
- Verbosity option.
`- For now, -v or -vv in rsync_args should work fine.
- non-intercative option.
- rsync_network_options (when remote src or dest, e.g. for --compress).
|