(pseudo) incremental backup with different exclude lists using hardlinks and rsync
conf | ||
.gitignore | ||
ccollect.sh | ||
CONFIGURATION | ||
CONFIGURATION.example | ||
HOW_IT_LOOKS_LIKE_WHEN_YOU_SAVE_SPACE | ||
INSTALL | ||
README | ||
REQUIREMENTS | ||
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 had some problems: - configuration parameters had to be TAB seperated - you could not specify exclude lists differently for every source - no parallel execution - I didn't like the configuration at all, so I used the cconfig style [2]. [0]: ccollect: http://linux.schottelius.org/ccollect/ [1]: rsnapshot: htt://www.rsnapshot.org/ [2]: cconfig: http://nico.schotteli.us/papers/linux/cconfig/ -------------------------------------------------------------------------------- $CCOLLECT_CONF/ -> Directories, which are so called 'backup-definitions' $dir/ source -> file with the source destination -> link to the destination exclude -> \n seperated -------------------------------------------------------------------------------- source - a rsync compatible source (one liner) For instance: backup_user@foreign_host:/home/server/video or rsync://[USER@]HOST[:PORT]/SRC Have a look at rsync(1). -------------------------------------------------------------------------------- verbose - should we log verbose or silent If this file exists in the source specification -v will be passed to rsync. -------------------------------------------------------------------------------- exclude - a new line seperated list of paths to exclude -------------------------------------------------------------------------------- destination - a link to the destination directory -------------------------------------------------------------------------------- intervalls/ - subdirectory of source or defaults Each file below this directory describe an intervalls. -------------------------------------------------------------------------------- log - link to file we should log to If a backup source exists (the cconfig dir exists) all logs for this source will be written to this file. General errors and errors of non existent or broken configuration will be logged to stderr. I do not think it is senseful to have one logfile for all sources, as the sources can be backuped in parallel and you would not be able to distinguish the different log processes very good then. If you REALLY REALLY REALLY want to have all in one logfile, simply link all "log" entries to the same file, output will be appended. --------------------------------------------------------------------------------