Commit graph

221 commits

Author SHA1 Message Date
John Lawless
ae23a04925 First, I added the following before any old backup gets deleted:
>    # Verify source is up and accepting connections before deleting any old backups
>    rsync "$source" >/dev/null || _exit_err "Source ${source} is not readable. Skipping."

I think that this quick test is a much better than, say, pinging
the source in a pre-exec script: this tests not only that the
source is up and connected to the net, it also verifies (1) that
ssh is up and accepting our key (if we are using ssh), and (2) that
the source directory is mounted (if it needs to be mounted) and
readable.
2009-05-25 08:39:28 +02:00
Nico Schottelius
38ca0a1546 Revert "Keep a symlink to the current backup around. This allows us to"
This patch is broken for non local destinations.

This reverts commit 6de3c9877c.
2009-02-04 15:12:27 +01:00
Tonnerre Lombard
6de3c9877c Keep a symlink to the current backup around. This allows us to
establish automatic restore features (e.g. through Puppet file
facts).
2009-02-04 08:25:35 +01:00
Nico Schottelius
c133ba5df9 add release date
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 12:10:48 +01:00
Nico Schottelius
b3ad86f270 [BUGFIX] allow "&" in sourcepath
Bug description:

From: Tiziano Müller <dev-zero@g.o>
Subject: Notiz: Probleme mit Ampersand in source
Date: Tue, 07 Oct 2008 16:11:10 +0000

Hoi Nico

Kleine Notiz wie im IRC besprochen:

- Hat es in /etc/ccollect/sources/$BACKUPNAME/source ein Ampersand muss
dieses Escaped werden, da sonst folgender Fehler auftritt:
*snip*
[volumes_ForschungEntwicklung] 2008-10-05-03:10:03: Beginning to backup,
this may take some time...
[volumes_ForschungEntwicklung] 2008-10-05-03:10:03:
Creating /home/backup/volumes/Forschung&Entwicklung/daily.20081005-0310.15173 ...
[volumes_ForschungEntwicklung] 2008-10-05-03:10:03: Transferring
files...
[volumes_ForschungEntwicklung] bash: Entwicklung/*: No such file or
directory
[volumes_ForschungEntwicklung] rsync: connection unexpectedly closed (4
bytes received so far) [receiver]
[volumes_ForschungEntwicklung] rsync error: error in rsync protocol data
stream (code 12) at io.c(635) [receiver=3.0.2]
[volumes_ForschungEntwicklung] 2008-10-05-03:10:03: Finished backup
(rsync return code: 12).
[volumes_ForschungEntwicklung] 2008-10-05-03:10:03: Warning: rsync
exited non-zero, the backup may be broken (see rsync errors).
*snip*

- ein "&" im Namen fürs Backup,
also: /etc/ccollect/sources/volumes_Forschung&Entwicklung/ wird beim
Anzeigen (wie oben zu sehen) verschluckt.

Cheers,
Tiziano

Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 11:47:45 +01:00
Nico Schottelius
b8b0ca107a [BUGFIX] cd must be in subshell, otherwise breaks later
Due to wrong WD

Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-01-16 14:44:59 +01:00
Jeroen Bruijning
5809571ca0 Fix bug in shell arithmetic
1. I got a syntax error in ccollect.sh once in a while, i think at
rollover. I changed the line

   j=$((j+1))

to

   j=$(($j+1))

(twice) and the error went away.
2008-06-13 11:34:43 +02:00
Nico Schottelius
fef686b449 remove basename - use standard vars defined in cconf
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 11:28:43 +02:00
Nico Schottelius
d5c7b57b09 makefile / hinweise für tools/
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-03 14:16:11 +02:00
Nico Schottelius
f096e412ea Add support for global delete_incomplete to ccollect
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-04-26 12:59:24 +02:00
Nico Schottelius
0c2f5df283 update release date 2008-03-17 18:23:44 +01:00
Nico Schottelius
7b76e1ee65 bugfix: removing old backups 2008-03-17 12:21:35 +01:00
Nico Schottelius
842e668c4c fix another endless loop 2008-03-17 12:11:09 +01:00
Nico Schottelius
96171314d7 add error detection to backup listing 2008-03-17 12:09:30 +01:00
Nico Schottelius
4e47c881fb add more quotes 2008-03-17 12:08:40 +01:00
Nico Schottelius
8ace2a6520 fix endless loop 2008-03-17 12:06:17 +01:00
Nico Schottelius
0d5cc4ddbc add ddir to --link-dest 2008-03-17 11:44:20 +01:00
Nico Schottelius
49ee2a24a3 remote support seems to work, even tested it ;-) 2008-03-14 07:53:11 +01:00
Nico Schottelius
89b4c993a5 import new pcmd 2008-03-14 06:50:24 +01:00
Nico Schottelius
e87f4e9a92 add gpl3 header to ccollect 2008-03-07 23:03:55 +01:00
Nico Schottelius
eef2d55c61 begin to implement backup to a host 2008-03-05 00:39:17 +01:00
Nico Schottelius
42e2c7e95d Update version string 2007-10-02 13:28:14 +02:00
Nico Schottelius
be207d7520 update date and version 2007-08-27 19:15:35 +02:00
Nico Schottelius
f68a68a1e2 Finish problem with the marker 2007-08-27 19:10:02 +02:00
Nico Schottelius
c516175669 delete real path, print relative path 2007-08-27 19:00:43 +02:00
Nico Schottelius
5acca63d53 [BUGFIX]: Removing of backups was broken (forgot to prepend the path :/) 2007-08-27 18:57:14 +02:00
Nico Schottelius
feea0661a7 use . as a seperator for marking, not directly in the dir, which will be removed anyway. 2007-08-27 18:56:03 +02:00
Nico Schottelius
dcf92a1788 Update release date 2007-08-20 18:21:54 +02:00
Nico Schottelius
c0c19d2598 Minor cleanup 2007-08-20 17:33:09 +02:00
Nico Schottelius
2a45844e1c Also warn if there's a mostly impossible error 2007-08-20 17:29:24 +02:00
Nico Schottelius
69ae9076e3 Add comment about --link-dest 2007-08-20 12:45:23 +02:00
Nico Schottelius
95b4b66a99 Add version information 2007-08-18 00:14:10 +02:00
Nico Schottelius
fd6a50a36b with -tcp1 need to head -n1, not tail -n1 anymore 2007-08-17 23:50:40 +02:00
Nico Schottelius
2c80eab8e1 Include intelligent cloning 2007-08-17 23:31:45 +02:00
Nico Schottelius
d442277d68 Prepare release date 2007-08-17 00:19:28 +02:00
Nico Schottelius
88c295a5b7 typo 2007-08-16 21:46:02 +02:00
Nico Schottelius
aaf29c92b5 another case for _techo 2007-08-16 21:45:02 +02:00
Nico Schottelius
8f65880db5 Cleanups, cleanups, cleanups, ... 2007-08-16 21:37:39 +02:00
Nico Schottelius
dc28b25e3c use _techo, not echo 2007-08-16 21:26:56 +02:00
Nico Schottelius
e2a143e0b6 Some cleanups 2007-08-16 21:25:46 +02:00
Nico Schottelius
a35e31e86c In theory ccollect-0.6 is ready, now let's begin testing 2007-08-16 21:17:25 +02:00
Nico Schottelius
86960388df Added initial support for cloning from different intervals 2007-08-16 21:11:13 +02:00
Nico Schottelius
45c5c29f77 Cleaned up old remove code 2007-08-16 20:41:03 +02:00
Nico Schottelius
8f6a942ae9 Finish incomplete deletion in general 2007-08-16 20:31:30 +02:00
Nico Schottelius
799c24faf3 Many formal cleanups 2007-08-16 20:17:54 +02:00
Nico Schottelius
624e5b419b Many preparations for 0.6 2007-08-16 20:08:23 +02:00
Nico Schottelius
e92bd762d4 Begin reordering options 2007-08-14 15:40:23 +02:00
Nico Schottelius
ed91b488da Change rsync_options to one argument per line 2007-08-14 15:31:49 +02:00
Nico Schottelius
63a683941f Pass exclude in a safe way to rsync 2007-08-14 15:30:00 +02:00
Nico Schottelius
c042479097 Add much more timing information
And empty $@ and $#, which we'll reuse later.
2007-08-14 15:26:20 +02:00
Nico Schottelius
dc7d5d614b Reorder: first check if we should take all sources, then execute pre-exec 2007-08-14 14:41:36 +02:00
Nico Schottelius
30352b83a8 Always print return code 2007-08-14 14:36:33 +02:00
Nico Schottelius
d08ac69af6 Better parsable date output 2007-08-14 14:33:22 +02:00
Nico Schottelius
1d68408541 export number of sources 2007-05-31 11:55:37 +02:00
Nico Schottelius
13b47585a8 export interval 2007-05-31 11:52:33 +02:00
Nico Schottelius
c3312ea54d Cosmetic changes (III) 2007-03-13 08:47:04 +01:00
Nico Schottelius
c291d4a8f5 Cosmetic changes (II) plus integration of _exit_err 2007-03-13 08:31:50 +01:00
Nico Schottelius
17fde8943d Release today 2007-01-27 18:56:29 +01:00
Nico Schottelius
afbab56496 introduce _exit_err 2007-01-27 18:27:27 +01:00
Nico Schottelius
19d84f65da Add _exit_err 2007-01-20 16:41:38 +01:00
Nico Schottelius
775a7e89a9 Remove testing 2007-01-20 16:22:36 +01:00
Nico Schottelius
cd21d9c072 Merge todos
Cleanup 0.5.2 for release
2007-01-19 20:07:34 +01:00
Nico Schottelius
d95861c81c Add new todos 2007-01-19 20:01:53 +01:00
Nico Schottelius
7c53c28c5d Remove experiemental 2007-01-17 19:32:21 +01:00
Nico Schottelius
07cb3473db More comments 2007-01-17 19:18:42 +01:00
Nico Schottelius
44c80899fe Cosmetic changase 2007-01-17 18:45:13 +01:00
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
Nico Schottelius
7e27ca0f3d More quote changes 2006-11-15 00:01:19 +01:00
Nico Schottelius
9c2b38bd17 Fix possible problem due to not checked success of cd 2006-11-14 23:51:17 +01:00
Nico Schottelius
be9d93c997 Possible problem with spaces in interval names
23:36 < dev-zero> telmich:  abs_destination_dir="$(cd $destination_dir && pwd -P)"
23:36 < dev-zero> telmich: wenn das interval spaces enthält, dann auch
                  destination_dir
2006-11-14 23:37:16 +01:00
Nico Schottelius
b9314edb78 Some count tests 2006-11-14 23:35:10 +01:00
Nico Schottelius
5c74195f20 More return value checking fixes 2006-10-31 08:18:58 +01:00
Nico Schottelius
b78a48917e [bugfix] Wrong return value check
Found by Alexey Maximov
2006-10-31 07:58:54 +01:00
Nico Schottelius
50c75ccf43 Several minor changes 2006-10-31 07:58:00 +01:00
Nico Schottelius
bf4433ad63 Hint: source specific intervals 2006-10-26 10:30:14 +02:00
Nico Schottelius
735353bd05 Prepare marking of incomplete backups 2006-10-25 15:16:37 +02:00
Nico Schottelius
b31989c476 Whitespace cleanup 2006-10-25 14:48:48 +02:00
Nico Schottelius
952adc32f2 Instantly exit, when creating the destination fails 2006-10-25 08:10:21 +02:00
Nico Schottelius
c7e4bb72a1 Tell the user WHICH interval he/she/it specified for people mixing up
options and interval order
2006-10-24 00:35:55 +02:00
Nico Schottelius
141f9bd535 Display correct return code 2006-10-20 11:27:09 +02:00
Nico Schottelius
e759b04a92 Add Makefile for freebsd forts 2006-10-20 00:25:06 +02:00
Nico Schottelius
635f32af22 Version bumb 2006-10-19 14:49:41 +02:00
Nico Schottelius
a288efd671 Remove debugging 2006-10-17 00:38:00 +02:00
Nico Schottelius
3ba0900930 Change url 2006-10-15 21:56:55 +02:00
Nico Schottelius
d2369c1963 Remove bc 2006-10-15 21:01:28 +02:00
Nico Schottelius
342b5bf488 Fix newly introduced bug (absdir/destination)
add absolute directory for --link-dest, because rsync does chdir()
before beginnig backup
2006-10-15 17:12:39 +02:00
Nico Schottelius
e6614294c2 Add checking of result of ls 2006-10-15 16:50:12 +02:00
Nico Schottelius
1e1000f193 Fix some broken English.
Again, add pwd -P instead of pwd.
2006-10-15 16:48:51 +02:00
Nico Schottelius
05f246d586 Implement hardlinking in rsync 2006-10-15 16:37:07 +02:00
Nico Schottelius
0715932a44 Create directory with absolute path 2006-10-15 16:33:32 +02:00
Nico Schottelius
ec6bb69c75 More preparations for removal of pax
Use pwd -P to get real path
2006-10-15 16:31:16 +02:00
Nico Schottelius
2060baa71a Preperations for a version without pax 2006-10-15 14:16:20 +02:00
Nico Schottelius
0e07585772 Allow overriding of rsync options
Moving $RSYNC_EXTRA to the end of options, so users can override
the default options.

This hint was brought to me by Marcus Wagner.
2006-09-05 21:41:12 +02:00
Nico Schottelius
c313ac8f49 Report return code of rsync on failure. 2006-06-25 10:44:02 +02:00
Nico Schottelius
df9cba0502 [bugfix] relative $CCOLLECT_CONF
When the path to the cconfig-dir is specified relative in $CCOLLECT_CONF,
ccollect will fail at the second backup run.
2006-06-17 00:12:38 +02:00
Nico Schottelius
466220823b Update doc, preperation for 0.4.2 2006-06-16 23:24:07 +02:00
Nico Schottelius
7ab5ace250 .gitignore, Makefile, ccollect.sh, CHANGES
Added more generated dac to .gitignore

Added changing permissions on webserver

Fixed bug when user specifies "ccollect interval source/"
(If a user has a ":" in its path he should be shoot).

Added note to new documentation.
2006-06-13 12:44:32 +02:00
Nico Schottelius
1a233ebd85 Also moved general pre_exec to earlier execution, though not before
command line checking
2006-06-13 12:08:53 +02:00
Nico Schottelius
5ef6063fad Pre_exec problem, resorting
Pre_exec has to be executed first, because it may create other
configuration options (including mounting the destination!)
(the problem was reported by Tonnerre Lombard).

Also added more beautiful comments.
2006-06-13 12:04:36 +02:00
Nico Schottelius
c75c6d27c3 Fix for whitespaces in output for wc from FreeBSE 2006-06-03 17:16:09 +02:00