(pseudo) incremental backup with different exclude lists using hardlinks and rsync
Find a file
jll2 dd7a047408 Add option quiet_if_down.
If a source is not connectable, ccollect.sh issues a series of error
messages such as:

$ ccollect.sh  "int 1" dummy
2009-06-25-21:04:14: ccollect 0.7.1: Beginning backup using interval int 1
[dummy] 2009-06-25-21:04:14: Beginning to backup
[dummy] ssh: connect to host Ha port 20: No route to host
[dummy] rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
[dummy] rsync error: unexplained error (code 255) at io.c(600) [receiver=3.0.5]
[dummy] 2009-06-25-21:04:17: Error: source Ha:/tmp is not readable. Skipping.
2009-06-25-21:04:17: Finished

If you expect the source to be up, you want to see these messages.
However, for a notebook computer or other portable machine, it may be
normal for it to be disconnected.  If quiet_if_down is specified for
that source, then the ssh and rsync errors are suppressed and the
"Error:" prefix is removed from the "skipping" message:

$ ccollect.sh  "int 1" dummy
2009-06-25-21:03:33: ccollect 0.7.1: Beginning backup using interval int 1
[dummy] 2009-06-25-21:03:34: Beginning to backup
[dummy] 2009-06-25-21:03:37: Source Ha:/tmp is not readable. Skipping.
2009-06-25-21:03:37: Finished

I considered the alternative implementation of adding the logic to
ccollect_analyse_logs.sh to enable it to separate rsync messages
generated the initial connection test from messages generated by
rsync used for an actual backup data transfer.  Adding this approach
to ccollect.sh appeared much simpler.
2009-06-25 21:34:42 -07:00
conf add testsource for &-test 2009-02-02 11:49:12 +01:00
contrib Add README for contrib 2009-06-21 00:15:21 +02:00
doc Add option quiet_if_down. 2009-06-25 21:34:42 -07:00
test update exec.sh 2008-03-14 09:25:04 +01:00
tools continue check script 2008-07-23 11:31:01 +02:00
.gitignore Ignore texi/fo 2007-08-17 11:28:05 +02:00
ccollect.sh Add option quiet_if_down. 2009-06-25 21:34:42 -07:00
COPYING Upgrade to GPLv3 2007-08-16 22:21:56 +02:00
CREDITS add automatic backup manager CREDITS 2009-06-21 00:50:04 +02:00
Makefile add ccollect_list_intervals.sh to the tools 2009-02-02 12:14:34 +01:00
README [DOC] give some hints on how to hack ccollect 2009-06-20 21:00:21 +02:00
release.sh update release script 2009-02-02 12:39:42 +01:00

--------------------------------------------------------------------------------
ccollect.sh, Nico Schottelius, 2005-12-06
--------------------------------------------------------------------------------

ccollect backups (local or remote) data to local or remote destinations.

You can retrieve 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].

Please use tools/report_success.sh to report success, if you are successfully
using ccollect.

Have a look at doc/HACKING, if you plan to change ccollect.

A small try to visualize the differences 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 |  6772 (5353 w/o comments,    |  546 (375 w/o comments,      |
| (2006-10-25)  |        4794 w/o empty lines) |       288 w/o empty lines)   |
+---------------+-------------------------------------------------------------+
|    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/