(pseudo) incremental backup with different exclude lists using hardlinks and rsync
e917546ad1
But this is definitly the WRONG way. We cannot, we need not and we MUST NOT try to catch dumb users. Instead we are the program, we may give the rules. And if we add a fancy feature and the user is too dumb to use it, it is HER/HIS fault. Just to remind my self: Add use of other backup intervals as source for this interval with the following behaviour: - locate all possible intervals in * default configuration * source specific configuration - locate all backups for each interval, record only the timestamp: * taeglich.2007-01-23-0042 -> possible_old_sources += taeglich -> taeglich_last=2007-01-23-0042 - NO READ NEED for this! other method: * sort by time, ALL possible backup: - does posix-ls support this? CHECK! - ( cd $C_SOURCE/destination/; ls --sort-by-time "$interval1".* "$interval2".* | tail -n1 ) - catches all possible intervals - add optional behaviour: * prefer other interval (newer) over this one |
||
---|---|---|
conf | ||
doc | ||
external/freebsd-port | ||
test | ||
tools | ||
.gitignore | ||
ccollect.sh | ||
COPYING | ||
CREDITS | ||
Makefile | ||
README | ||
release.sh | ||
TODO |
-------------------------------------------------------------------------------- ccollect.sh, Nico Schottelius, 2005-12-06 -------------------------------------------------------------------------------- ccollect backups data from local or remote hosts to your local harddisk. You can retriev the latest version of ccollect at [0]. ccollect was inspired by rsnapshot [1], which has some problems: - configuration parameters has to be TAB seperated - you can not specify per source exclude lists - no per source pre/post execution support - no parallel execution - does unecessary moving of backup directories - I didn't like the configuration at all, so I used the cconfig style [2]. A small try to visualize the differnces in a table: +---------------+-------------------------------------------------------------+ | What? | rsnapshot | ccollect | +---------------+-------------------------------------------------------------+ | Configuration | tab separated, needs | plain cconfig-style | | | parsing | | +---------------+-------------------------------------------------------------+ | Per source | | | | post-/pre- | no | yes | | execution | | | +---------------+-------------------------------------------------------------+ | Per source | | | | exclude lists | no | yes | +---------------+-------------------------------------------------------------+ | Parallel | | | | execution | | | | of multiple | no | yes | | backups | | | +---------------+-------------------------------------------------------------+ | Programming | perl | sh | | language | | (posix compatible) | +---------------+-------------------------------------------------------------+ | Lines of code | 6636 | 476 | | (2006-10-25) | | | +---------------+-------------------------------------------------------------+ | Age | Available since 2002/2003 | Written at 2005-11-14 | +---------------+-------------------------------------------------------------+ Included documentation: doc/ccollect.text Manual in text format doc/ccollect.html Manual in xhtml (generated) doc/ccollect-DE.text German manual in text format (externally maintained) doc/ccollect-DE.html German manual in xhtml (generated) doc/man/ccollect.text Manpage in text format doc/man/ccollect.man Manpage in manpage format (generated) -------------------------------------------------------------------------------- [0]: ccollect: http://unix.schottelius.org/ccollect/ [1]: rsnapshot: http://www.rsnapshot.org/ [2]: cconfig: http://nico.schotteli.us/papers/linux/cconfig/