Suchergebnisse Archive: April 2009

Backup von Linuxserver mit rsync

8. April 2009 at 22:37 Filed in:teodata View Comments

Hier erkläre ich euch wie man ein automatisiertes Backup mit rsync über einen SSH Tunnel mit Key-Autologin zwischen zwei Linux / Mac Systemen erstellt.

Jeder muss selbst wissen was er an seinem Server / Router / Mac macht. Daher distanziere ich mich von allen Schäden die durch diese Anleitung entstehen könnten!

Ich nenne den zu Sichernden Server: “Produktiv-Server”
Ich nenne den Backupserver: “Backup-Server”

Die Voraussetzungen:

Auf beiden Servern muss rsync installiert sein.

apt-get install rsync

Nur für den “Backup-Server”:

Einen neuen Backupuser auf dem Backup-Server anlegen. Ich nenne den User “Produktivbackup”

useradd -m -p PASSWORT Produktivbackup

Als Passwort solltet Ihr ein sicheres wählen. ;) (nicht “backupuser1234″)

Dann dem User per sudo das Ausführen von rsync mit Root-Rechten erlauben.
Installation von sudo:

apt-get install sudo

Nun sudo beibringen, das der Benutzer “Produktivbackup” rsync mit Root-Rechten ausgeführen darf.

visudo

und folgdes einfügen

Produktivbackup ALL=(root)NOPASSWD:/usr/bin/rsync

Vorbereitung des Backup_servers für die Public-Key-Dateien vom “Produktiv-Server”

mkdir /home/Produktivbackup/.ssh
chown Produktivbackup:Produktivbackup /home/Produktivbackup/.ssh

So jetzt wechseln wir auf den “Produktiv-Server”

Die “Keys” zum automatischen Authentifizieren zwischen den beiden Servern erzeugen.
Bei der Abfrage “passphrase” einfach Enter drücken, denn sonst klappt der Autologin nicht.

mkdir /root/keys
ssh-keygen -t dsa -b 1024 -f /root/keys/rsync-key

Kopieren der rsync-key.pub zum “Backup-Server”
Kleine Anmerkung: Da hier per SCP Kopiert wird müsst Ihr euren SSH Port auf dem Backupserver kennen, die Angabe hinter dem “-P” ist der SSH-Port! Als Beispiel nehme ich den Standartport 22.

cd /root/keys
scp -P 22 rsync-key.pub Produktivbackup@IP-ODER-DNS-DES-BACKUPSERVERS:/home/Produktivbackup/.ssh

Wenn ihr Euch das erste mal zum Backupserver verbindet dann bitte die Abfrage mit “yes” Bestätigen.
Danach werdet Ihr nun nach dem Passwort des Benutzers “Produktivbackup” was Ihr eben vergebe habt gefragt.
Nach der Eingabe des Passwortes wird nun der “rsync-key.pub” in das Verzeichnis /home/Produktivbackup/.ssh kopiert.

Nun müssen wir noch einmal zurück zu unserem “Backup-Server”

Folgendes eingeben:

mv /home/Produktivbackup/.ssh/rsync-key.pub /home/Produktivbackup/.ssh/authorized_keys
chown -R Produktivbackup:Produktivbackup /home/Produktivbackup/.ssh
chmod 700 /home/Produktivbackup/.ssh
chmod 600 /home/Produktivbackup/.ssh/authorized_keys

Hier wird die rsync-key.pub in authrized_keys umbenennt und die Rechte angepasst, das nur der Backupbanutzer auf die Datei zugreifen darf.

Nun sollte eine Testverbindung vom “Produktiv” zum “Backup” nichts mehr im Wege stehen.

ssh -p 22 -i /root/keys/rsync-key Produktivbackup@IP-ODER-DNS-DES-BACKUPSERVERS

Wenn alles gut läuft seid Ihr nun ohne Passwortabfrage auf der Shell vom “Backup-Server”. Mit “exit” verlasst ihr die Shell des “Backup-Servers” wieder.

Nun kommt mein Backupscript was ich z.Z. nutze.
Dies könnt Ihr in ein Verzeichnis eurer Wahl legen z.B. /root/scripte/

mkdir /root/scripte
nano backupscript.sh

und fügt folgendes ein:

#!/bin/sh

BACKUPDIR=/ #Ab hier wird gesynct
FILEEXCLUDE=/root/scripte/rsync_exclude.txt #exclude Datei
SSHRSYNCKEY=/root/keys/rsync-key #Keyfile für den Autologin
TARGETDIR=/home/Produktivbackup/ #oder ein anderes Verzeichnis was existieren muss
BACKUPSERVER=IP oder DNS Name #Adresse Backup-Server
USER=Produktivbackup #Benutzer Backupserver
SSHPORT=22 #oder EUER SSH-PORT vom “Backup-Server”
OPTIONS=-avze

echo “Starte Rsync nach $BACKUPSERVER an Port $SSHPORT in das\
Zielverzechnis $TARGETDIR die aktuellen Rsync Optionen $OPTIONS”

rsync $OPTIONS “ssh -p $SSHPORT -i $SSHRSYNCKEY” –rsync-path=’sudo /usr/bin/rsync’\
–stats -–numeric-ids –exclude-from=$FILEEXCLUDE $BACKUPDIR $USER@$BACKUPSERVER:$TARGETDIR

echo “…ready”

Eine Datei fehlt noch bevor Ihr loslegen könnt, das ist die “rsync_exclude.txt” die bei mir auch unter /root/scripte/ liegt.

Datei anlegen:

nano /root/scripte/rsync_exclude.txt

Als Beispiel könnt ihr meinen Inhalt der Datei einfügen:

- /lib
- /bin
- /opt
- /sys
- /proc
- /tmp
- /lost+found
- /dev
- /media
- /cdrom

Nun noch das Script in die in die “crontab” einfügen.

In der Shell:

crontab -e

und folgendes für eine tägliche Syncronisation nachts um 0:02 Uhr eingeben:

2 0 * * * sh /root/scripte/backupscript.sh

Fertig, nun wird jede Nacht ein Backup / Syncronisation gestartet.

Mount MobileMe's iDisk unter Debian Linux

7. April 2009 at 19:45 Filed in:teodata View Comments


Ich neige dazu wichtige Dateien an zwei Orten zu sichern. Das Mac iDisk-Konto bietet sich hierfür an. Als WedDav share lässt es sich so z.B. in Debian (oder auch viele andere Betriebssysteme) einbinden. Wie’s mit Debian geht, beschreibt dieser Artikel:

Als erstes folgendes ausführen:

apt-get install davfs2

Hierdurch werden alle benötigten Programme installiert um das webdav file systems zu mounten.

Dann mit eurem Lieblingseditor folgende Datei editieren:

/etc/davfs2/secrets

Darin wird dann folgender Eintrag gemacht:

http://idisk.mac.com/username USERNAME PASSWORD

und das Filesystem mounten:

mount -t davfs http://idisk.mac.com/username /mnt/idisk

Das wars, die iDisk ist jetzt gemountet

Möchte man, dass die iDisk automatisch gemounted wird, sobald das System gestartet wird, fügt man folgende Zeile in die /etc/fstab ein:

http://idisk.mac.com/username /mnt/idisk davfs user 0 0