ccollect- Installieren, Konfigurieren und Anwenden
=================================================== 
Julian Meier <julian.meier__@__julian.mkr-tech.ch>
v0.1, Initiale Version vom 2006-03-04
:Author Initials: JM

inkrementelle Datensicherung
mit 'hardlinks' und 'rsync'

Einleitung
---------- 
'ccollect' ist ein Backuptool geschrieben in der sh-skript Programmiersprache.
Es braucht nichts besonderes nur die '/bin/sh'-Konsole (oder eine kompatible). 

Installation
------------

Anforderungen
~~~~~~~~~~~~~

.Die aufgelisteten Werkzeuge müssen für das Benutzen von ccollect installiert sein:
- bc
- cp
- rsync
- date
- ssh (optional, wenn man ssh-Verbindungen nutzen moechte)

Am besten überprüfen Sie das mit dem Befehl 'apt-get install bc rsync ssh'.
Beim Fehlen eines Werkzeuges wird dieses nachinstalliert. 

Installieren
~~~~~~~~~~~~ 

. Laden Sie sich die neuste Version von ccollect herunter.
  Diese finden Sie unter: 'http://linux.schottelius.org/ccollect'
. Wechseln Sie in der Konsole mit "cd 'Pfad" in das Verzeichniss,
  indem sich das ccollect Archiv befindet. 
  Entpacken Sie das Archiv mit "tar xvfj ccollect-$version.tar.bz2".
  Am Besten ist es, wenn Sie jetzt in das Verzeichniss mit den
  entpackten Daten wechseln: "cd 'pfad/'ccollect-'version'.
. Danach kopieren Sie die Datei 'ccollect.sh' aus dem entpackten Archiv nach
  /usr/local/bin. Das geht mit dem Befehl "cp ccollect.sh /usr/local/bin". 
. Nun ändern Sie die Rechte für die Datei damit jeder Benutzer das
  Programm verwenden kann:  "chmod 0755 /usr/local/bin/ccollect.sh"
. Erstellen Sie nun das Konfigurationsverzeichnis für ccollect:
  "mkdir /etc/ccollect/"
. Starten sie nun zum Testen das Programm ccollect mit dem Befehl
  `ccollect.sh` in der Konsole.


Konfiguration
-------------

Konfigurationsverzeichnisse 
~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

Die Konfigurationsdaten befinden sich bei ccollect im oben erstellten Verzeichnis
"/etc/ccollect". Um ccollect richtig konfigurieren zu können benötigen Sie
noch ein paar weitere Verzeichnisse:

- "/etc/ccollect/defaults" mit:
  'mkdir /etc/ccollect/defaults'
- "/etc/ccollect/defaults/intervals" mit:
  'mkdir /etc/ccollect/defaults/intervals'
- "/etc/ccollect/sources" mit:
  'mkdir /etc/ccollect/sources'


Intervalle
~~~~~~~~~~ 

Der Intervall-Wert definiert, wie viele Backup-Versionen ccollect von
den gesicherten Daten behalten soll.
Der Name der Datei, in der der Wert steht, ist zugleich auch der
Name des Intervalls.

--------------------------------------------------------------
julian@flumy:/etc/ccollect/defaults/intervals$ ls
daily
julian@flumy:/etc/ccollect/defaults/intervals$ cat daily
7
julian@flumy:/etc/ccollect/defaults/intervals$ 
-------------------------------------------------------------- 


Intervall erstellen
^^^^^^^^^^^^^^^^^^^^ 
Sie erstellen einen Intervall wie folgt:

. Wechseln Sie in das Intervall-Verzeichnis: 'cd /etc/ccollect/defaults/intervals'.
. Erstellen Sie einen neuen Intervall mit dem Befehl
  "echo 'wert' > 'Intervall-Name'"


Sources
~~~~~~~

Mit Sourcen meint man bei 'ccollect' die Quelldaten. Der Wert einer 'source'-Datei
verweist auf einen Pfad in dem sich die zu sichernden Daten befinden. 

.Im Ordner '/etc/ccollect/sources/*' wird festgelegt: 
- Der Sicherungs-Titel
- Quell- und Ziel-Verzeichnis
- Spezielle Einstellungen

Sicherungs-Titel
^^^^^^^^^^^^^^^^ 
Der Sicherungstitel ist der Name eines Ordners in /etc/ccollect/sources.


Man erstellt also ein neue neue Sicherung mit dem Befehl
"mkdir '/etc/ccollect/sources/'Sicherungs-Titel'".
In diesem Verzeichnis folgen dann die spezifischen Konfigurationsdaten
(nur!) für diese Sicherung.

Quelle
~~~~~~  
Mit Quelle ist gemeint welche Daten gesichert werden. 
Dies wird in der Konfigurationsdatei 'source' festgelegt.

Diese liegt im Verzeichnis "/etc/ccollect/sources/'Sicherungs-Titel'".
Wechseln Sie in das Verzeichnis mit dem Sicherungs-Titel und erstellen Sie die
Datei mit "echo 'Quellpfad' > source". 

Exclude
^^^^^^^ 
Es kann vorkommen das man in einem Verzeichniss alles sichern will
bis auf ein paar Unterordner. 
Für dieses Vorhaben gibt es die Datei 'exclude', die sich wiederum
im Verzeichnis 'Sicherungs-Titel' befindet. 

Die Datei wird mit folgenden Schritten angelegt:

. "echo 'Quellpfad/verzeichnis1 > exclude"
   Ein Pfad wird weggelassen.
. "echo 'Quellpfad/verzeichnis2 >> exclude"
   Ein weiterer Pfad der weggelassen wird. Das zweite '>' bewirkt,
   das an die 'exclude'-Datei angefügt wird (das einfache '>'
   ueberschreibt eine vorhandene Datei).


Ziel
~~~~ 
Mit dem Ziel ist gemeint wohin die Sicherung gespeichert wird.
Dies geschieht mit einer Verknüpfung (Link), die 'destination' heisst. 

.Erstellen Sie diese mit den Befehlen
- "ln -s '/Pfad/zum/Speicherort/' destination"
- Mit dem Befehl "ls -l destination" kann man die Richtigkeit der
  Verknüpfung überprüfen. 

[IMPORTANT]
==============================
Es 
darf 
immer 
nur
eine
'source',
'destination',
und
'exclude'
Datei
vorhanden
sein.
==============================


Spezielles
~~~~~~~~~~ 
Im Ordner "/etc/ccollect/sources/'Sicherung'" kann man weitere Daten einfügen
und damit Optionen ein- oder auszuschalten.

'verbose'::
   Beim Sicherungsvorgang ausführlich berichten ('-v' für 'rsync').
'very_verbose'::
   Beim Sicherungsvorgang sehr ausführlich berichten
   ('-v' für 'rsync', 'mkdir', 'cp' und 'rm').
'summary'::
   'ccollect' erstellt beim Beenden des Sicherungsvorganges eine
   Zusammenfassung des Geschehenen.
'rsync_option':: 
   Alle Befehle in dieser Datei zu 'rsync' werden ausgeführt beim Sicherungsvorgang.
'pre_exec':: 
   Die Befehle im Inhalt dieser Datei werden vor dem Backup ausgeführt.
'post_exec'::
   Die Befehle im Inhalt dieser Datei werden nach dem Backup ausgeführt.