Re: Geeignete Backupstrategie

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 9 Aug 2011 15:14:43 +0200 (CEST)

Oliver Fromme wrote:
> Sowas kann man sich eigentlich in 'nem Dutzend Zeilen Shell-
> Code zusammenzimmern. Bei mir sieht's im prinzip so aus
> (ist nur das Grundgerüst; mein Skript ist komplexer):

Da hat sich auch gleich das Fehlerteufelchen eingeschlichen.
:-)

> cd /backup
> LAST_BACKUP=$(ls -t | grep '^....-..-..$' | head -n 1)

Damit das funktioniert, muss erstmal mindestens _ein_ Unter-
verzeichnis vorhanden sein. Vor dem allerersten Lauf sollte
man also einmal »mkdir /backup/2000-01-01« machen oder so.

> if [ $(date +%u) -eq 1 ]; then
> OPTS=""
> else
> OPTS="-H"
> fi
> cpdup $OPTS "$LAST" "$SOURCE" "$TODAY"

Das gibt 'nen Syntax Error. Besser:

   if [ $(date +%u) -eq 1 ]; then
           OPTS=""
   else
           OPTS="-H $LAST"
   fi
   cpdup $OPTS "$SOURCE" "$TODAY"

Übrigens: Für Remote-Backups empfehle ich, auf dem Backup-
Server (also die Kiste, die die Sicherungen von einem oder
mehreren Clients zieht) einen separaten ssh-Schlüssel für
root mit ssh-keygen anzulegen, der ausschließlich für die
Sicherungen verwendet wird. Diesen Schlüssen kann man dann
auf den Clients in root's .ssh/authorized_keys wie folgt
eintragen (alles in _einer_ Zeile, ohne Leerzeichen nach
den Kommas; ist hier nur wegen der Lesbarkeit umgebrochen!):

command="/usr/local/bin/cpdup -RS",from="xx.xx.xx.xx",no-pty,
no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss AAAA....

Anstelle von xx.xx.xx.xx muss die IP-Adresse des Backup-
Servers eingetragen werden. Schließlich muss man noch in
/etc/ssh/sshd_config den Eintrag »PermitRootLogin no« wie
folgt ändern:

PermitRootLogin forced-commands-only

Dann »/etc/rc.d/sshd restart«, fertig. Diese Konstruktion
erlaubt es dem Backup-Server, sich mit seinem speziellen
Key per ssh einzuloggen und _nur_ cpdup als Slave-Prozess
(-S) im read-only-Modus (-R) zu starten, sonst nichts.
Das dämmt das Sicherheitsrisiko auf ein Mindestmaß ein.
(Man könnte noch Jails verwenden, aber dann wird es etwas
aufwendiger; das würde den Rahmen dieses Threads sprengen.)

Damit cpdup auf dem Backup-Server den richtigen ssh-Key
verwendet, muss man ihm disen per -F-i$KEYFILE mitteilen.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"Clear perl code is better than unclear awk code; but NOTHING
comes close to unclear perl code"  (taken from comp.lang.awk FAQ)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 09 Aug 2011 - 15:15:32 CEST

search this site