Backups mit Rsync – Part 1: Grundlagen

Rsync ist ein geniales Werkzeug zum erstellen von Backups.
Nehmen wir einmal an wir haben einen Laptop, den wir auf einen anderen Rechner im Netzwerk sichern wollen.
Der Name des Rechners ist “server” und dort wollen wir, in das Verzeichnis /backups/laptop sichern.
Auf beiden Rechnern muss ein Unix/Linux mit ssh und rsync installiert sein. Auf dem Zielrechner muss der ssh Server gestartet sein.
Rsync kann als normaler Benutzer verwendet werden, ich empfehle aber es als root auszuführen, da wir nur so, in Verbindung mit der Option -a, sicher sein können das alles auch genau so wieder auf dem Zielrechner angelegt wird, wie es auf unserem Quellrechner existiert.

Den Inhalt dieser Verzeichnisse sollten wir nicht versuchen zu sichern:

/proc
/sys
/media
/mnt
/tmp

Um diese Verzeichnisse auszuschließen verwenden wir die --exclude Option.

Auf dem Laptop geben wir ein:

# rsync -a \
--exclude='/proc/**' \
--exclude='/sys/**' \
--exclude='/mnt/**' \
--exclude='/tmp/**' \
/ server:/backups/laptop

Rsync wird dann per ssh eine Verbindung zum Rechner “server” aufbauen, dazu geben wir das root Passwort des Zielrechners an.

Anschließend sichert rsync unser gesamtes System, was einige Zeit dauert.
Da rsync bei nachfolgenden Backups nur noch die Änderungen des vorherigen Backups Kopiert, laufen weitere Backups wesentlich schneller.
Rsync löscht bei folgenden Backups keine Dateien auf dem Zielrechner, selbst wenn diese auf dem Quellrechner nicht mehr vorhanden sind. Mit der Option --del sorgen wir dafür das rsync nicht mehr vorhandene Dateien löscht.

wget + mplayer

Mplayer kann nicht nur lokale Dateien öffnen, sondern auch direkt von http lesen:

mplayer http://www.beispiel.de/videodatei.avi

Leider ist mplayer dabei nicht besonders gut, manche links mag er nicht, und oft will er nicht mit Proxies zusammenarbeiten. Ein programm was das sehr gut macht ist wget.

wget -O - http://www.beispiel.de/videodatei.avi \
| mplayer -

Die wget Option -O – sorgt dafür das die Datei auf die Standardausgabe geschrieben wird.
Beim mplayer sorgt – dafür das die Daten von der Standardeingabe gelesen werden.

Sparse Files erzeugen

Sparse Files, sind Dateien, bei denen null Bytes keinen Platz benötigen. Praktisch um Image Dateien anzulegen, da diese erst dann Platz benötigen, wenn sie gefüllt werden.
So erzeugt man eine 1G große sparse Datei:

$ dd if=/dev/null of=sparsefile.img bs=1 seek=1G
$ ls -lh sparsefile.img
-rw-r--r-- 1 mk users 1,0G 22. Dez 22:58 sparsefile.img
$ du -h sparsefile.img
0 sparsefile.img

Ein dateisystem drauf machen:

# mke2fs sparsefile.img
$ du -h sparsefile.img
17M sparsefile.img

Das dateisystem benötigt also 17M.
Mounten:

# mount -o loop sparsefile.img /mnt

Grösse anzeigen:

$ df /mnt
Dateisystem Größe Benut Verf Ben% Eingehängt auf
/home/mk/sparsefile.img
1008M 1,3M 956M 1% /mnt
$ du -h sparsefile.img
17M sparsefile.img

übrigens sieht man hier das uns die 17MB des Dateisystems geklaut werden
1024 – 17 ~ 1008

Ordner verstecken mit Samba

Bei samba Installationen nerven die von ext3 angelegten lost+found Ordner.
Mit

hide files = /lost+found/

in der smb.conf wird der Ordner als versteckt markiert, in Windows kann man sie dann nur noch sehen, wenn man “Versteckte Dateien anzeigen” auswählt. / ist in diesem Fall ein Trennzeichen, also auch wichtig wenn man nur einzelne Dateien verstecken will.

Erster Eintrag

Ja, jetzt hab ich mir mal nen Blog installiert, nachdem www.krausam.de Jahre lang ungenutzt war. Ich weiss nicht ob und wie viel ich hier schreiben werde. Aber da ich sonnst keine verwendung für die seite hab, kanns nicht schaden.
Ich hab mich entschieden den blog ins unterverzeichnis wordpress zu speichern, und mit der php funktion

header("Location:wordpress/");

darauf zu verweisen.