aboutsummaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO29
1 files changed, 26 insertions, 3 deletions
diff --git a/TODO b/TODO
index caa934b..142a7bb 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,8 @@
# -- BUGS -- #
+- /path/ is not recognized as configured, when only /path explicitly is
+ configured.
+- After a failure, the .backup directory is in a bad state (contains backup
+ data labeled as old, however not related to the destination).
# -- TODO -- #
- For ssh, set up one single connection (maybe configurable?).
@@ -6,13 +10,11 @@
-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.
@@ -21,7 +23,7 @@
`- 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.
+- [consider] Shell completion of configured backup paths.
- Better error handling on failure (of rsync).
- Use ask().
`- Allow for configuration of default answer.
@@ -29,6 +31,12 @@
- [consider] Get date on source host.
- Named backups to allow for different destinations per source (and shorter
names).
+- Test suite.
+- Check for several file systems in a tree (and error upon locating such).
+- [consider] Add fallback if no local mirror of the source file tree is
+ available.
+- Only store the last mirror locally, but date it.
+- [consider] --one-file-system as default option.
# -- PROBLEMS -- #
- rsync bug: https://bugzilla.samba.org/show_bug.cgi?id=13445
@@ -56,3 +64,18 @@
`- 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).
+- Write metadata.
+- Use wrappers for the functions possibly non locally executed.
+- Compare src:work/$old_date and dest:$old_date for consistency.
+- Run script instead of function remotely
+ `- ssh host 'bash -s' -- < script_file args
+ `- In case of dependencies, the otherwise sourced files could just be
+ included in the stdin of ssh.
+ `- cat script_file dep_file | ssh host 'bash -s' -- args
+- Use stdout of functions to return a string value and stderr for everything
+ else.
+ `- Optional: Prefixes determining whether normal or error.
+ `- Convert at the end (remove prefix and pipe to stderr / stdout).
+- Only keep the respectively latest backup on the source.
+ `- Or the last two, which would allow to reuse the second-last as new
+ mirror (for a probably negligible gain, if any).