Commit Graph

487 Commits

Author SHA1 Message Date
Nico Schottelius f4f9564bde add backup manager from Jens-Christoph Brendel
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-06-16 10:34:49 +02:00
Nico Schottelius 6595fe7b97 add updated patches from john
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-06-16 10:32:05 +02:00
Nico Schottelius 02264020f5 add changes for the next release
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-06-10 09:56:13 +02:00
Nico Schottelius ba538ea623 Beautify a comment
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-06-10 09:55:38 +02:00
Nico Schottelius bce57a1ac1 Introduce consistent time sorting
Based on patches by John Lawless <jll2_8854b@redwoodscientific.com>.
Skipped the sort changing part (from -tc to -t)

c.patch:

--- ccollect-0.7.1-b.sh	2009-05-24 21:32:00.000000000 -0700
+++ ccollect-0.7.1-c.sh	2009-05-24 21:39:43.000000000 -0700
@@ -40,10 +40,13 @@
 VERSION=0.7.1
 RELEASE="2009-02-02"
 HALF_VERSION="ccollect ${VERSION}"
 FULL_VERSION="ccollect ${VERSION} (${RELEASE})"

+#TSORT="tc" ; NEWER="cnewer"
+TSORT="t" ; NEWER="newer"
+
 #
 # CDATE: how we use it for naming of the archives
 # DDATE: how the user should see it in our output (DISPLAY)
 #
 CDATE="date +%Y%m%d-%H%M"
@@ -513,14 +516,14 @@

    #
    # Check for backup directory to clone from: Always clone from the latest one!
    #
-   # Use ls -1c instead of -1t, because last modification maybe the same on all
-   # and metadate update (-c) is updated by rsync locally.
-   #
-   last_dir="$(pcmd ls -tcp1 "${ddir}" | grep '/$' | head -n 1)" || \
+   # Depending on your file system, you may want to sort on:
+   #   1. mtime (modification time) with TSORT=t, or
+   #   2. ctime (last change time, usually) with TSORT=tc
+   last_dir="$(pcmd ls -${TSORT}p1 "${ddir}" | grep '/$' | head -n 1)" || \
       _exit_err "Failed to list contents of ${ddir}."

    #
    # clone from old backup, if existing
    #

d.patch:

--- ccollect-0.7.1-c.sh	2009-05-24 21:39:43.000000000 -0700
+++ ccollect-0.7.1-d.sh	2009-05-24 21:47:09.000000000 -0700
@@ -492,12 +492,12 @@
    if [ "${count}" -ge "${c_interval}" ]; then
       substract=$((${c_interval} - 1))
       remove=$((${count} - ${substract}))
       _techo "Removing ${remove} backup(s)..."

-      pcmd ls -p1 "$ddir" | grep "^${INTERVAL}\..*/\$" | \
-        sort -n | head -n "${remove}" > "${TMP}"      || \
+      pcmd ls -${TSORT}p1r "$ddir" | grep "^${INTERVAL}\..*/\$" | \
+        head -n "${remove}" > "${TMP}"      || \
         _exit_err "Listing old backups failed"

       i=0
       while read to_remove; do
          eval remove_$i=\"${to_remove}\"

Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-06-10 09:50:05 +02:00
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 8cc0f04874 add patched version of ccollect-0.7.1 by John Lawless
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-05-23 14:34:09 +02:00
Nico Schottelius 27c838163a add macosx as tested
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-04 16:28:57 +01: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 1943bfd244 update release script
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 12:39:42 +01:00
Nico Schottelius bf22075407 update todo and changes
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 12:16:04 +01:00
Nico Schottelius 00c1303fb2 add ccollect_list_intervals.sh to the tools
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 12:14:34 +01:00
Nico Schottelius 0516749a0c update changes
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 12:10:56 +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 af242905af add testsource for &-test
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 11:49:12 +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 337fec115b +tab
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 11:46:48 +01:00
Nico Schottelius e5e1cc865a more testing in makefile
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-02-02 11:45:59 +01:00
Nico Schottelius bfcc1ebfc4 update makefile for new server
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-01-16 14:45:25 +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
Nico Schottelius 582018adbb alpha/netbsd added
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-01-13 11:58:45 +01:00
Nico Schottelius d7ec63052a add real world example for my notebook 2008-12-12 00:42:41 +01:00
Nico Schottelius 4f088f84c3 add example interval "normal"
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2008-12-12 00:42:17 +01:00
Nico Schottelius c704d7d9b8 +nc
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-08-19 15:25:46 +02:00
Nico Schottelius 05544bf02f begin integration of linux restore
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-07-23 18:05:35 +02:00
Nico Schottelius 218f846479 finished description for freebsd
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-07-23 11:39:01 +02:00
Nico Schottelius c5545e3c45 continue check script
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-07-23 11:31:01 +02:00
Nico Schottelius ba61d0b6ce continue freebsd restore
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-07-23 11:29:44 +02:00
Nico Schottelius 1a8752814f add template for ccollect_check_config
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-07-21 11:24:03 +02:00
Nico Schottelius 7cc669ba0a begin to structure it
Signed-off-by: Nico Schottelius <nico@tr.schottelius.org>
2008-07-04 13:35:52 +02:00
Nico Schottelius 45d8560110 beginn restore doc
Signed-off-by: Nico Schottelius <nico@tr.schottelius.org>
2008-07-04 15:22:28 +02:00
Nico Schottelius 26b8df4825 begin to make tools more modular in makefile
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-25 11:38:24 +02:00
Nico Schottelius cfe5433e7a todo for 0.7.4
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 12:07:43 +02:00
Nico Schottelius 6af6c8d229 more changes for 0.7.1
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 12:04:22 +02:00
Nico Schottelius ca408a22cc add hint: ssh access required for remote_host
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 11:46:07 +02: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 40cef5f7a4 update changes/todo
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 11:30:36 +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 5caad132b5 add hint: prevent backup deletion for unreachable hosts
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 11:18:44 +02:00
Nico Schottelius 8f2af0e466 update changes for 0.7.1
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 11:14:39 +02:00
Nico Schottelius a9dd91ffef also report ssh timeouts
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 10:49:20 +02:00
Nico Schottelius cdebda1c32 also update date
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 10:30:46 +02:00
Nico Schottelius 085ba48497 add three new error messages to ccollect_analyse_logs.sh
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-06-13 10:29:38 +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 5775bdb28d todo for 0.7.1 2008-06-03 14:13:55 +02:00
Nico Schottelius c01e6b9a16 update credits
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-04-26 13:21:37 +02:00
Nico Schottelius 2dc80fa971 more changes 2008-04-26 13:14:19 +02:00
Nico Schottelius ca5c9fc5fd Describe delete_incomplete
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-04-26 13:08:50 +02:00
Nico Schottelius 2627af97ad Todo for 0.8.0
Signed-off-by: Nico Schottelius <nico@denkbrett.schottelius.org>
2008-04-26 13:06:27 +02:00