(pseudo) incremental backup with different exclude lists using hardlinks and rsync
Find a file
Nico Schottelius e917546ad1 introduce old backup matching
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
2007-01-17 09:39:23 +01:00
conf More quote changes 2006-11-15 00:01:19 +01:00
doc Several minor changes 2006-10-31 07:58:00 +01:00
external/freebsd-port Add fbsd/distinfo 2006-10-20 11:23:20 +02:00
test Display correct return code 2006-10-20 11:27:09 +02:00
tools Added list_intervals.sh to show available intervals. 2006-06-24 13:17:20 +02:00
.gitignore Add html generated by docbook 2006-10-26 11:55:16 +02:00
ccollect.sh introduce old backup matching 2007-01-17 09:39:23 +01:00
COPYING Added GPL 2006-01-14 12:02:06 +01:00
CREDITS +CREDITS 2006-10-31 08:12:49 +01:00
Makefile Several minor changes 2006-10-31 07:58:00 +01:00
README Minor indentions 2006-10-25 08:10:02 +02:00
release.sh Release to new location 2006-10-15 21:41:24 +02:00
TODO Clean todo 2006-11-16 11:00:13 +01:00

--------------------------------------------------------------------------------
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/