Mobile Backups unter Mac OS X deaktivieren

Ich hatte in den letzten Tagen ein seltsames Verhalten auf meinem Mac. Wenn ich eine Datei löschte wurde kein Speicher freigegeben. Im Gegenteil, der freie Speicher wurde immer weniger. Verantwortlich dafür waren die Mobile Backups. Diese TimeMachine Funktion sorgt dafür das auch dann Backups erstellt werden, wenn das Backup-Laufwerk nicht verfügbar ist. Möchte man diese Funktionalität abschalten, so muss man im Terminal:

sudo tmutil disablelocal

eingeben. Damit wird das lokale Backup deaktiviert und der vom Backup belegte Speicherplatz freigegeben. Beim Löschen von Dateien wird damit wieder Speicher freigegeben.

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/