Skip to content

Backups

^ v M ><
Neulich bin ich mal gefragt worden, wie ich Backups mache. Die Antwort: Mit einem relativ simplen Cron-Skript und rdiff-backup per SSH auf den Fileserver. Das gibt ein schönes inkrementelles Backup, bei dem man beliebig weit zurückgehen kann, allerdings behalte ich nur die Daten der letzten zwei Monate. Rdiff-Backup braucht relativ wenig Rechenleistung, Bandbreite und Speicherplatz und funktioniert auch hervorragend über's Internet. Wird das Cron-Skript häufig genug aufgerufen, emuliert dieses Backup recht gut das Verhalten von Apples Time-Machine. Nachteilig ist lediglich, dass es in meinem Fall ein vom Clienten initiiertes Backup ist. Solange der zu sichernde Rechner die Daten auf den Backup-Server schreibt, ist ein Backup nicht sicher vor Manipulationen. Besser wäre es, wenn der Server vom Clienten lesen würde. Nur bräuchte der Server dann root-Login auf dem Clienten, was auch nicht unbedingt der Sicherheit förderlich ist...

Folgendes muss man auf dem Server einrichten:
  • SSH-User für's Backup
  • Im $HOME/.ssh/authorized_keys die public-SSH-Keys des root-Users der zu sichernden Systeme eintragen (ja, das Backup-Skript wird in der Regel als root laufen, da man z.B. auch /etc sichern will).
  • Im Verzeichnis, welches die Backups enthalten soll, muss für jeden zu sichernden Rechner ein Verzeichnis erstellt werden, das so heisst, wie der Host (zu erfahren durch Eingabe von "hostname" auf dem Client)
  • In diesen Verzeichnissen muss jeweils eine Verzeichnisstruktur erstellt werden, welche der $DIRECTORIES-Variable aus untenstehendem Skript entspricht.
  • Zuletzt chownt man diese gesamte Struktur an den zuerst erstellen SSH-User.

Und so schaut mein Skript aus:
#!/bin/bash

### Settings ###
DIRECTORIES="/etc /home /usr/local/bin"
EXCLUDES="/home/*/.local/share/Trash"
SSHUSER="rdiff-backup"
SSHHOST="192.168.0.1"
REMOTEDIR="/mnt/backup/$(hostname)/"
RDIFF="/usr/bin/rdiff-backup"
RDIFFOPTIONS="ssh -p 2222 %s rdiff-backup --server"
FILEAGE="2M"

NOW=$(date +"%Y-%m-%d")
GZIP="$(which gzip)"
STATUSFILE="/var/tmp/rdiff-backup-status"
LOCKFILE="/var/lock/rdiff-backup-lock"
DUMPDIR="/home/backup"

if [ -e "$LOCKFILE" ]; then
echo "Lockfile exists, quitting..."
exit 255
fi

touch "$LOCKFILE"

### Packages List ###
dpkg --get-selections | $GZIP > $DUMPDIR/dpkg.$NOW.txt.gz
RETVAL=$(($RETVAL + $?))

### File based Backup ###
for DIR in $DIRECTORIES; do
EXCLUDESLIST=""
for EXCLUDE in $EXCLUDES; do
SIZE=$(expr match "$EXCLUDE" "$DIR")
if [ $SIZE -gt 0 ]; then
EXCLUDESLIST="$EXCLUDESLIST --exclude $EXCLUDE"
fi
done
$RDIFF $EXCLUDESLIST --remote-schema "$RDIFFOPTIONS" $DIR $SSHUSER@$SSHHOST::$REMOTEDIR/$DIR
RDIFFRETVAL=$?
RETVAL=$(($RETVAL + $RDIFFRETVAL))
if [ $RDIFFRETVAL = 0 ]; then
$RDIFF --force --remote-schema "$RDIFFOPTIONS" --remove-older-than $FILEAGE $SSHUSER@$SSHHOST::$REMOTEDIR/$DIR
RETVAL=$(($RETVAL + $?))
fi
done

find $DUMPDIR -ctime +7 -exec rm -f '{}' ';'
RETVAL=$(($RETVAL + $?))

echo $RETVAL > "$STATUSFILE"
rm -f "$LOCKFILE"
exit $RETVAL

Was bedeuten nun all die Variablen unter "Settings"?
  • DIRECTORIES: Die zu sichernden Verzeichnisse.
  • EXCLUDES: Nicht zu sichernde Verzeichnisse
  • SSHUSER: Mit welchem User wird per SSH am Server angemeldet
  • SSHHOST: Die Adresse des Backup-Servers. Entweder eine IP oder ein Hostname.
  • REMOTEDIR: Das Basisverzeichnis, worin auf dem Server die Backups gespeichert werden.
  • RDIFF: Pfad zum lokal rdiff-backup Binary
  • RDIFFOPTIONS: Wenn man zusätzliche Optionen angeben will, z.B. einen alternativen SSH-Port. Kann man auch leer lassen
  • FILEAGE: Nach wie vielen Tagen/Monaten/Jahren die Inkremente gelöscht werden sollen

Nur um mal wieder eins klarzustellen

^ v M ><
Amokläufer sind jung, männlich, Computerspieler und Mitgliedschaft in einem Schützenverein spielt keine Rolle. Gell, Frau Allemann.

Oh, und natürlich hören sie Heavy Metal (d.h. Slipknot und Marilyn Manson... was ich persönlich ja beides eher unter "Lärm" denn "Metal" einstufen würde). Und sofern sie Schweizer sind, benutzen sie ihre Dienstwaffe.

Tee vs Vuvuzela

^ v M ><
Trööööööööööööööööööööööööööööt!


Der daraus zu machende Tee soll angeblich genau so wirken, wie wenn einem zwei professionelle Vuvuzela-Bläser aus nächster Nähe in beide Ohren gleichzeitig tröten. Ausprobieren möchte ich das nicht :-) Und mein ganzer Balkon ist voll davon!

Schweiz, quo vadis (mal wieder)?

^ v M ><
Ich zitiere Artikel 101 Absatz 1 der Verfassung der Schweizerischen Eidgenossenschaft
Jeder Mensch hat das Recht auf Leben. Die Todesstrafe ist verboten.
Eine wertvolle Errungenschaft des Humanismus und unserer Zivilisation.

Aber dass die Schweiz unterdessen von mindestens 50.1% Vollidioten bevölkert ist, wurde ja schon lange festgestellt. Jetzt ist wieder einer von denen auf eine ganz tolle Idee gekommen: Wir brauchen wieder die Todesstrafe! Find ich super. Wirklich. Echt. Weil unsere Justiz ja niemals nie nicht Fehlurteile fällt. Schon gar nicht, wenn das Urteil dann tatsächlich auf Tod lautet.

Übrigens, schon mitbekommen: Drei Unschuldige wurden in den USA abgeschlachtet, weil die Gerichtsmediziner Beweise fälschten. Sowas könnte bei uns natürlich niemals nie nicht passieren! In der Schweiz wird schliesslich sauber und präzise gearbeitet.

Also falls der Schrott tatsächlich durchkommen sollte, müsste ich mir eine Auswanderung in ein zivilisiertes Land wirklich ernsthaft überlegen.

Hier folgt wieder ein Lehrstück in Sachen

^ v M ><
Wie macht man unbequeme Menschen mundtot. Die Sache gilt's wohl weiter zu verfolgen. War ja nur eine Frage der Zeit.

Update: Schweden hat anscheinend einen Fetzen Restunabhängigkeit von den USA wiedergefunden und den Haftbefehl zurückgezogen. Vermutlich war das dieselbe Art "Vergewaltigung" wie bei der Israelin neulich. Kein Wunder, hellblond wie Assange ist, kann man ihn durchaus für einen Schweden halten.

Serverzurückgebastel

^ v M ><
mod_gnutls hab ich wieder durch mod_ssl ersetzen müssen. Grund:
[Tue Aug 17 09:21:32 2010] [notice] Apache/2.2.9 (Debian) mod_gnutls/0.5.1 configured -- resuming normal operations
page 7: illegal page type or format
PANIC: Invalid argument
PANIC: fatal region error detected; run recovery


Und die letzte Zeile wiederholt sich dann, bis das Logfile die Festplattenkapazität gesprengt hat. Dauert bei den paar freien GB auf dem vserver so ca 20 Minuten...

Mal wieder die liebe SBB

^ v M ><
Gestern war ich bei einem Kollegen zu Besuch. Der wohnt ausserhalb der Gültigkeit meines ZVV-Abos, also mal kurz versucht ein Anschlussbillet im Zürcher HB zu lösen. Wenn das denn so einfach wär! Dies war also mein Erstkontakt mit diesen supertollen neuen Automaten:
  • Der Touchscreen ist total dejustiert. Man klickt, aktiviert wird irgend was anderes.
  • Lahm ohne Ende! Wenn der Klick erkannt wurde, dann dauert es erst mal 5 Sekunden, bis sich auf dem Bildschirm was tut.
  • Und nachdem ich 5 Minuten später dann alle Optionen passend eingestellt hatte, durfte ich feststellen, dass mein hart erarbeitetes Geld wohl nicht gut genug ist für für den Automaten ist. Jedenfalls hab ich dann aufgegeben und dasselbe Prozedere nochmals an einem anderen Automaten durchgespielt. Der hatte sogar die Güte, mein Geld zu akzeptieren.

Anschliessend wollte ich den Zug einsteigen. Wunderbar, hat ja nur 5 Minuten Verspätung. Und die hinterste Tür vom Zug war mal wieder defekt.

Und für solchen "Service" wollen die Ende Jahr tatsächlich die Preise erhöhen? Geht's noch???

Umbauen und rumschrauben

^ v M ><
Ich hab ein Bisschen am Server umgebaut und in letzter Zeit einiger Änderungen vorgenommen:

1. Courier durch Dovecot ersetzt.
Dovecot ist viel cooler als Courier und kann viel mehr. Statt einem grausamen Flickwerk und Gebastel hab ich mit Dovecot eine Lösung, die mir alles mögliche aus einer Hand bietet. Postfix kann SASL-Authentifizierung direkt über Dovecot-SASL machen statt über diesen grauenhaften Courier-SASL-Umweg, bei dem sich Courier-SASL erst am IMAP-Server anmelden muss, weil Courier-SASL ja nicht mit verschlüsselten Passwörtern umgehen kann. Ausserdem bietet Dovecot eine integrierte Mailfilterung an und über ein Roundcube-Plugin kann man die Filter sogar Klickibunti setzen :-)

2. Postfix-policyd durch Spamhaus ersetzt.
Bislang hab ich zur simplen, ressourcenschonenend Spam-Bekämpfung auf Greylisting gesetzt. Mein Server ist nämlich massiv zu schwachbrüstig, als dass ich überhaupt nur dran denken könnte, Spamassassin einzusetzen. Das funktioniert zwar relativ gut, hält aber letztendlich nur Botspam fern. Stattdessen nutze ich nun zen.spamhaus.org, um mir unerwünschte Mailhosts vom Leib zu halten. Der Erfolg lässt sich in meiner Inbox sehen. Statt 1-3 Spams pro Tag hab ich seit zwei Monaten kein einziges mehr bekommen. Die Konfiguration ist denkbar einfach. Einfach in der /etc/postfix/main.cf die Direktive smtpd_client_restrictions um den Eintrag reject_rbl_client zen.spamhaus.org ergänzen und Postfix neu laden.

3. Apaches mod_ssl durch mod_gnutls ersetzt.
Dies hat zwei Vorteile: Erstens weniger RAM-Verbrauch, da mod_gnutls minimal schlanker ist. Zweitens kann mod_gnutls Server Name Indication. Das heisst, dass ich für jeden Virtual Host ein eigenes SSL-Zertifikat verwenden kann. Das ist wichtig, weil ich nur eine IP habe, auf meinem Server aber mehrere Domänen mit SSL-Unterstützung laufen.

4. Das Blog hat zwei neue Plugins spendiert bekommen.
Schon seit einiger Zeit finden sich Buttons zu diversen Social Bookmark Seiten unter jedem Blog-Eintrag. Lediglich den Facebook-I-Like-Iframe hab ich aus Datenschutzgründen rauskommentiert. Facebook braucht nicht zu wissen, wer mein Blog besucht. Die restlichen Symbole werden von meinem Server ausgeliefert. Die Dienste bekommen folglich nur mit, dass jemand meine Seite besucht hat, wenn der Eintrag dort registriert wird.
Da ich mich bei Flattr angemeldet habe, um diverse meiner favorisierten News-Seiten und Blogs einfach und unbürokratisch finanziell unterstützen zu können, hab ich auch grad einen Flattr-Button bei mir eingebaut. Natürlich erwarte ich keine Einnahmen dadurch, dafür bin ich wirklich zu irrelevant. Mich stört auch, dass die Flattr-Buttons vom Flattr-Server geladen werden. Damit bekommt Flattr leider jedesmal mit, wer auf meine Seite zugreift. Ich muss mal schauen, ob es ein besseres Plugin gibt oder ob ich die Zeit finde, das Plugin mal zu hacken, so dass ein statisches Flattr-Symbol von meinem Server ausgeliefert wird. Denn wieso sollte ich Flattr anders behandeln als Facebook?

Wird Windows 7 russisch opensourced?

^ v M ><
Komische Welt bei Microsoft. Einen kleinen russischen Softwaretester mit mutmasslichen Verbindungen zum Geheimdienst schafft man aus. Aber dann gibt man quasi im gleichen Atemzug mal den Sourcecode von Windows 7 an den FSB weiter? Das versteh mal einer.

Ob diese Code-Weitergabe wohl Einfluss auf das künftige nationale Betriebssystem von Russland haben wird? Bislang hatte ich ja eher das Gefühl, dass dies einfach eine weitere Linux-Distribution werden soll. Gut möglich, dass es nun ein "Lindows-Reloaded" wird.

Wie, du kaufst noch CDs?

^ v M ><
Ich bin ja nun schon mehrfach wie ein Mondkalb angeglotzt worden, weil ich tatsächlich noch richtige CDs kaufe und diese in ein ach so platzverschwendendes Regal stelle. Die Lösung wär doch gemäss meiner Gesprächspartner so einfach: Bei einer der grossen amerikanischen Firmen, deren Namen mit einem A beginnt die Musik zu günstigen Preisen in virtueller Form kaufen.

Nun gut. Das angebissene Obst kommt nicht in Frage, weil man dazu eine Software braucht, die nur und ausschliesslich unter proprietären Betriebssystemen funktioniert. Ausserdem ist deren Format AAC, womit mein alter ogg/mp3-Player definitiv nicht umgehen kann und ich mein aktuelles Smartphone nicht getestet habe.
Aber es gibt ja noch diese weibliche Kriegerin, die ebenfalls ein Download-Angebot hat und dabei sogar (patentbehaftete) mp3s anbietet. Von ihr hab ich neulich ein Mail bekommen, worin ein kostenloser Sampler zum Download angeboten wird. Na in dem Fall probieren wir die Sache doch mal aus! Für Albumdownloads bieten sie eine proprietäre Software an, welche es praktischerweise auch für Linux gibt. Zu den unterstützten Distributionen gehört z.B. Ubuntu 8.10, dessen Name schon andeutet, dass es 2 Jahre alt ist. Na gut, schauen wir doch mal, das das .deb unter Ubuntu 10.04 so macht:
gdebi meint nach Doppelklick in fett rot: "Fehler: Falsche Systemarchitektur »i386«" Oh! Ich hab ja ein 64bit System. Tjaaa, mal die Suchmaschine meines geringsten Misstrauens bemüht und bin sogleich auf eine Anleitung gestossen. Alles klar, ich brauch nur ein dubioses Skript laufen lassen und manuell ein paar veraltete Pakete installieren.

Und siehe da, danach läuft die Sache. Zumindest vorerst. Ob die Software dann auch unter Ubuntu 10.10 oder Debian 6 oder einem aktuellen Gentoo laufen wird, steht in den Sternen. Abgesehen davon, dass so Binärmüll auf meinem System sowieso nur wenig erwünscht ist.

Wie auch immer. Meine CD-Regale hab ich schon vor langer Zeit gekauft. Die Regalwand bietet derzeit auch noch etwasPlatz und wär auch relativ einfach erweiterbar. Daher bleib ich lieber weiterhin dabei, die Musik auf realen Scheiben zu kaufen und danach händisch in Ogg/Vorbis umzuwandeln. Das dauert zwar etwas länger, dafür weiss ich dann auch, was ich hab.

Die grösste Gefahr für den Flugverkehr sind die Terroristen

^ v M ><
in den Chefetagen der Fluggesellschaften und Flugzeughersteller. Zumindest ist das meine Erklärung dafür, wieso man zu faul ist, um ein paar Scheiben auszubauen und eine Schraube festzuziehen. Wegen dieser Schraube sind in den letzten 8 Jahren 29 gefährliche Situationen entstanden. Wie viele Terroranschläge in Flugzeugen gab es in dieser Zeit? Und wieviele Massnahmen wurden gegen strukturelle Mängel an Flugzeugwartung und wie viele Placebomethoden gegen die Freiheit der Passagiere unternommen? In Sachen Flugverkehrssicherheit haben offensichtlich nicht nur die Flugzeuge eine Schraube locker...

Neuigkeitsblitz: Löbliche Sprache in diesem Zwischennetztagebuch

^ v M ><
Nachdem das Ministerium für Wahrheit heute ein Dekret zur Reinhaltung der deutschschweizer Sprache vor Verschmutzung durch Anglizismen vorgeschlagen hat, werde ich mich als gesetzestreuer Bürger natürlich sofort daran halten und ab sofort nur noch löbliche deutsche Begriffe anstelle bösartiger angelsächsischer Sprachverunstaltungen benutzen. Dies macht mein Zwischennetztagebuch natürlich gleich viel leserlicher. Insbesondere freue ich mich darauf, in Zukunft rein deutsche Begriffe wie E-Mail-Massenwerbung benutzen zu können.

Jetzt hoffe ich einfach darauf, dass bald der Höchstebenenbereich .netz (punktnetz) eingeführt wird, damit meine Heimseite auch unter einer löblichen Einheitsressourcenangabe gefunden werden kann.



aaaaaargh!



Sagt mal: Zahl ich wirklich meine Steuern für so eine Stierscheisse???