Backup per sshfs

Wenn man einen Server betreibt ist ein Backup sehr praktisch. Viele Hoster bietet mittlerweile Backupspeicher an, auf welchen man seine Daten sichern kann. In diesem Artikel wird dabei davon ausgegangen das sich auf dem Server größere Imagedateien befinden, welche inkrementell gesichert werden sollen. Im ersten Schritt wird der Backupspeicher eingebunden. Viele Server lassen sich dabei mit SFTP ansprechen. Um dieses einzubinden muss das passende Paket installiert werden:

apt-get install sshfs

Danach erstellen wir einen Mountpunkt:

mkdir /mnt/backup

Anschließend kann das entfernte Dateisystem eingebunden werden:

sshfs :/ /mnt/backup

Für das Backup wird „rdiff-backup“ genutzt, welches über die Paketverwaltung installiert werden kann:

apt-get install rdiff-backup

Problematisch an „rdiff-backup“ ist die Tatsache, das dieses unter anderem mit Hardlinks arbeitet und diese bei SFTP unter Umständen nicht zur Verfügung stehen. Deshalb muss im ersten Schritt ein Image erzeugt werden und dieses eingebunden werden. Mittels:

rdiff-backup /etc/ /mnt/backup/etc/

kann dann anschließend das Backup angelegt werden. Möchte man ermitteln welche Backupversionen sich im Verzeichnis befinden, so kann dies durch

rdiff-backup -l /mnt/backup/etc/

bewerkstelligt werden. Damit man das ganze nicht immer per Hand erledigen muss (was bei Backups nicht ratsam wäre), habe ich das ganze in ein Skript gegossen welches auf GitHub zu finden ist.

Weitere Informationen gibt es unter:
http://wiki.ubuntuusers.de/FUSE/sshfs
http://www.nongnu.org/rdiff-backup/
http://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_rdiff-backup

Backup mittels rsync

Mittels „rsync“ ein Backup zu erstellen, ist für den normalen Nutzer unter Umständen etwas schwierig. Wesentlich vereinfacht wird der Prozess von dem Skript „rsync-time-backup“. Dieses unter einer MIT-Lizenz stehende Skript funktioniert dabei unter Linux und Mac OS X. Die Installation besteht dabei aus dem klonen des entsprechenden Git Repositories auf den eigenen Rechner:

git clone https://github.com/laurent22/rsync-time-backup

Genutzt wird das ganze nach dem Schema:

./rsync_tmbackup.sh <quelle> <ziel> [ausgeschlossene Dateien als Pattern]

Das Skript legt dabei für jedes Backup ein Verzeichnis mit dem Datum als Namen an. Dateien welche bereits in einem vorherigen Backup vorhanden und identisch sind, werden dabei per Hardlink verknüpft. Damit belegen sie keinen zusätzlichen Speicherplatz. Das Wiederherstellen von Daten ist bei diesem Backup sehr einfach. Es reicht den entsprechenden Ordner wieder zum Quellverzeichnis zu kopieren. Hierfür werden keine zusätzlichen Tools benötigt. Zu finden ist das Skript auf GitHub.

Automatisches Backup unter iTunes abschalten

Wenn man sein iPhone mit iTunes verbindet, so synchronisiert es sich automatisch. Dabei wird auch gleich ein Backup erstellt. Zwar ist es möglich das gesamte automatische Prozedere zu deaktivieren, was allerdings sehr unpraktisch ist wenn man nur das Backup verhindern möchte. Im diesen Fall kann man das ganze im Terminal mit der Zeile:

defaults write com.apple.iTunes AutomaticDeviceBackupsDisabled -bool true

deaktivieren. Anschließend werden die Backups bei der automatischen Synchronisierung ausgespart. Möchte man es wieder aktivieren genügt obige Zeile, wobei das „true“ durch ein „false“ ausgetauscht wird.

Ubuntu 12.04 + Time Machine

Die Funktion „Time Machine“ welche unter Mac OS X zu finden ist funktioniert mittels einer USB Festplatte oder einer Time Capsule. Wer aber nun schon einen Linux Server (in diesem Fall ein Ubuntu 12.04) rumzustehen hat, der möchte diesen eventuell für die Sicherung mittels Time Machine benutzen. Dazu gibt man im der Konsole folgendes ein:

sudo apt-get install netatalk avahi-daemon libnss-mdns

Nachdem die entsprechenden Pakete installiert worden sind, konfigurieren wir den Avahi Service mittels „sudo nano /etc/avahi/services/afpd.services“. In die sich öffnende Datei tragen wir folgendes ein:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule</txt-record>
</service>
</service-group>

Danach legen wir die entsprechende Freigabe an, in dem wir die Datei „/etc/netatalk/AppleVolumes.default“ mittels:

sudo nano /etc/netatalk/AppleVolumes.default

bearbeiten. Der Inhalt dieser Datei sieht dabei so aus:

/home/seeseekey/Backup TimeMachine allow:seeseekey cnidscheme:dbd options:usedots,upriv,tm

Nun muss noch einmal der Server neugestartet werden und schon kann die Freigabe mittels Time Machine benutzt werden. Sollte beim Start des ersten Backups folgende Fehlermeldung:

Fehler 30 beim ersten Backup mittels Time Machine

erhalten so muss man das Terminal öffnen und dort folgendes eingeben:

hdiutil create -size $500g -fs HFS+J -type SPARSEBUNDLE -volname “BACKUP” Amy_133713371337.sparsebundle

Damit erzeugen wir eine Sparsebundle-Datei. Der Parameter Size gibt dabei die maximale Größe an. Der Dateiname entspricht dem Schema „COMPUTERNAME_MACADRESSE.sparsebundle“. Die erzeugte Datei kopieren wir nun in das Wurzelverzeichnis der entsprechenden Freigabe. Danach sollte das Backup dann ohne Probleme funktionieren.

Weitere Informationen gibt es unter:
http://meetinx.de/tutorial-time-machine-auf-nas-netzwerk-laufwerk/
http://www.kvibes.net/2011/08/mac-os-x-lion-timemachine-und-linux/
http://meetinx.de/tutorial-time-machine-backup-sparsebundle-in-groesse-begrenzen/
http://blog.rotzoll.net/2010/07/linux-als-apple-afp-share-mit-timemachine-support-backups-uber-das-netzwerk/

Papierloser Alltag

Seit dem Anbeginn der Zeit strebt der Mensch nur nach einem: dem papierlosen Alltag (in Firmen auch das papierlose Büro genannt). Da stellt sich natürlich erst einmal die Frage ob so etwas denn überhaupt möglich ist und die Antwort ist sicherlich negativ. Einfach aus dem Grund das man bestimmte Dokumente (noch) in Papierform benötigt.

Aber man kommt doch ziemlich nah heran an einen papierlosen Alltag. Ideale Voraussetzung dafür ist ein Tablettrechner sei es mit iOS oder Android. Doch dazu später mehr. Wie könnte so ein papierloser Alltag ausehen? Am Anfang sollte man sich überlegen in welche Formate man bestehende Dokumente digitalisieren möchte. Dort bieten sich einige Formate an:

  • PDF
  • OpenDocument
  • PNG
  • JPG

Wichtig bei Dokumentenformaten ist, das man diese auch noch in einigen Jahren lesen respektive anzeigen kann. Anbieten würden sich PDF und das OpenDocument Standard für bearbeitetbare Dokumente. Die weitere Frage ist ob man die Dokumente in irgendwelche Dokumentenmanagementsysteme packt, oder mit Spezialsoftware mit irgendwelchen Tags und Metadaten versieht. Hier sollte die Antwort für den privaten Bereich negativ ausfallen. Denn solche Systeme oder Software kämpft immer mit einem Problem: sobald die Software nicht mehr unterstützt wird sind die Informationen im schlimmstem Fall verloren, was wiederum für offene und gut dokumentierte Standards spricht.

Wo sollte man die Daten also sonst halten? Eine der sichersten Möglichkeit ist es sie einfach in ein hierarchisches Dateisystem zu packen. Solche Systeme gab es schon vor zwanzig Jahren und sollte es auch noch in zwanzig Jahren geben. Das könnte dann z.B. so aussehen:

Dokumente
|_Artikel
|_Rechnungen
|_Versicherungen
|_Zeugnisse
  |_Schule

Bei der Struktur sollte man darauf achten das sie nicht zu feingliedrig wird, weil dies die Suche nach Dokumenten erschweren kann. Als nächster Punkte stellt sich die Frage wie genau man die Dokumente benennt. Ich habe mich da für das Schema:

2012-05-30 - Beschreibung des Dokumentes.pdf

entschieden. Wichtig ist das man das gewählte Schema einhält und nicht spontan ändern. Das Datum vorne gibt das Dokumentendatum an und fängt mit der Jahreszahl an, so das es im Dateisystem chronologisch sortiert werden kann.

Eine der schwierigen Dinge bei einem papierlosen Alttag ist das Scannen der bereits aufgelaufenen Dokumente. Wer das mit einem normalem Scanner probiert, der sollte es lieber gleich lassen. Hier sollte man in einen Dokumentenscanner wie z.B. einen Fujitsu ScanSnap S1500M investieren. Diese Scanner haben den Vorteil das sie eine große Anzahl an Dokumenten annehmen und diese auch gleich beidseitig drucken. Die mitgelieferte Software ist in meisten Fällen auch gleich OCR fähig, so das der Text des Dokumentes auch noch maschinenlesbar in das PDF eingebettet werden kann. Dies erleichtert eine spätere Suche ungemein.

Beim Scannen sollte man sich entscheiden, welche Dokumente man wirklich benötigt. So sind alte Rechnungen sicherlich eher ein Fall für den Papierkorb als für den Scanner. Nachdem man seine Dokumente eingescannt hat, sollte man schauen welche Dokumente man wirklich in Papierform benötigt. So werden z.B. Entgeldabrechnungen von vorherigen Jahren immer nur vom Dezember benötigt, da dort alle Zahlen für das gesamte Jahr verzeichnet sind.

Ein weitere Ansammlung von Papier verhindert man in dem man z.B. auf Papierrechnungen verzichtet und stattdessen das Onlinependant auswählt. Interessant wird es bei Notizen welche man sonst auf dem Papier macht. Da sollte man sich eine passende App für sein Tablet besorgen. Das Tablet als solches ist im übrigen ein wundervoller Papierersatz. So kann man dort Dokumente (auch Bücher) lesen und verfassen. Auch für Textnotizen gibt es passende Apps und wenn es ein einfacher Texteditor wie iA Writer ist.

Was dann noch zu tun ist, ist es einige alte Gewohnheiten abzulegen und nicht gleich zu Stift und Papier zu greifen, sondern stattdessen die Notizapp zu starten. Und einen sehr wichtigen Punkt darf man beim digitalen Dokumentenarchiv nicht vergessen. Backups, möglichst automatisch sollten natürlich gemacht werden, damit das Dokumentenarchiv eine lange Zukunft vor sich hat.