aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorEinhard Leichtfuß <alguien@respiranto.de>2019-10-18 00:28:00 +0200
committerEinhard Leichtfuß <alguien@respiranto.de>2019-10-18 01:17:39 +0200
commit4e2ceb9875c81c33b09f6eaf0858b7f9591b22cc (patch)
treebe3860dc8c26b3c18a30c2a81b58e00025b98069 /README
parent51f58d7c4c984ec8ccc5ab0a3d31d04cd39d499c (diff)
Restructure, and rewrite substantial partsHEADmasterdevel
A notable problem (to me) with the former version was, that upon simple movements in the source file tree, these would in general cause duplicated data in the backup forest. This problem has been resolved by essentially tracking file movements, using hard links. Also, the code has been divided into several different files, extranous code removed, the organization of remote code execution simplified. In the process of simplification, all parts requiring direct interaction of the user with the program have been replaced. In most cases, this means that the program now just terminates with an error instead of allowing the user to confirm deletion of an unexpected (remnant) file. This may be considered a drawback, but actually these interactive options were anyways suboptimal solutions in most cases - where they occured, which was due to remnant files of aborted or failed former backups. In general, there have been a lot of changes. Which are not thoroughly documented here. Since there is often no strong relation to the old code, this is not deemed necessary, as the in-code documentation is expected to be of sufficient help. Also, there has been added a little general documentation in the README and particularly the NOTES file. It is to be noted that this new version is far from sophisticated. It has been tested with and is in use for real data, however lacks a lot of convenience. In particular, if a backup fails unexpectedly, the next backup will in the very most cases loudly fail without manual intervention. Also, the program is not able to continue the growth of a backup tree built with former versions of this program, by itself. This can however be arranged by hand.
Diffstat (limited to 'README')
-rw-r--r--README66
1 files changed, 60 insertions, 6 deletions
diff --git a/README b/README
index 1287b72..66ba148 100644
--- a/README
+++ b/README
@@ -1,23 +1,77 @@
-- in work -
+Introduction
+------------
+
+ rsync-backup is a frontend to rsync (with a few extras) to allow for the
+creation of incremental backups, using hard links. It notably is tracking
+movements, that is a file moved (but unchanged) in the source file tree will
+not be stored twice for two corresponding backups - before and after the
+movement.
Dependencies
------------
-Most dependencies are required locally and remotely, as a huge part of the
+ Most dependencies are required locally and remotely, as a huge part of the
script may be executed remotely.
- bash>=4.2 (test -v)
- rsync
- ssh
-- coreutils (realpath, date)
+- coreutils
- find
+Installation
+------------
+
+ Put all the source files in one directory. It may be desirable to set up
+a symbolic link in e.g. /usr/local/bin, or a shell alias.
+
+
+Usage
+-----
+
+ Execute 'rsync-backup' either with one argument, specifying the source
+directory, requiring that to be configured (see Configuration) or two
+arguments, where the second one specifies the destination.
+
+ It is highly recommended to configure the respective directories, not least
+to configure to be excluded parts of the file tree (e.g., /dev, /mnt).
+
+ It is possible to use a remote location for one of the source and
+destination.
+
+ Examples:
+$ rsync-backup /home # requires prior configuration
+$ rsync-backup / user@server:/backup
+
+
+Configuration
+-------------
+
+ Configuration may be done in the file '/etc/rsync-backup/config'. See the
+source file 'variables' for information on which variables can be set.
+
+
+Documentation
+-------------
+
+As of now, documentation on the usage is found only here.
+
+The file NOTES provides an overview of the ideas and the (inner) working of
+this program.
+
+
Notes
-----
-Symbolic links are simply copied, thus linking to the backed-up filetree, not
-the backup-filetree itself.
+ IMPORTANT: Both the source and destination file tree should reside on a
+single file system. It is highly recommended to exclude (config:
+filter_file) other mounted file systems. Otherwise, assuming the backup
+process does not fail, each new backup is expected to take the full space for
+such mounted subdirectories.
+
+ Symbolic links are simply copied, thus linking to the backed-up filetree,
+not the backup-filetree itself.
-Dates are always calculated on the local host.
+ Dates are always calculated on the source host.