Mit dedizierten Servern erhält man üblicherweise auch Backup-Space, bei Hostingaccounts wird das Backup komplett vom Provider übernommen. In jedem Fall, traue ich solchen Versprechen nicht. Stirbt mein Provider, geht mit ihm auch das Backup den Bach herunter. Solang man mehrere Server hat, kann man die gegenseitig sichern, allerdings habe ich gerade kürzlich fast alle meine Webseiten bei Hosteurope konsolidiert und bin daher etwas knapp an Servern.
Da der Webpack Pro den ich nutze mit SSH-Zugang ausgestattet ist, ist eine Sicherung per rsync der einfachste und beste Weg - rsync sichert bei jedem Lauf nur die Unterschiede, lädt also nicht täglich die ganze Präsenz herunter. Mac OSX kann als Linux-/Unix-Derivat natürlich Prozesse einfach per crontab starten, das schien aber nicht der richtige Weg zu sein - ein bisschen stylisher muss es schon sein.
Auch Hosteurope verspricht ein automatisches Backup, da ich das aber nicht sehe, möchte ich lieber zusätzlich ein eigenes haben. Da der Webpack Pro den ich nutze mit SSH-Zugang ausgestattet ist, ist eine Sicherung per rsync der einfachste und beste Weg - rsync sichert bei jedem Lauf nur die Unterschiede, lädt also nicht täglich die ganze Präsenz herunter.
Mac OSX kann als Linux-/Unix-Derivat natürlich Prozesse einfach per crontab starten, das schien aber nicht der richtige Weg zu sein - ein bisschen stylisher muss es schon sein.
Als erstes muss - sofern noch nicht vorhanden - ein SSH-Schlüssel produziert werden. Dazu eine Konsole öffnen und ssh-keygen -t dsa ausführen. Zielort der Datei (.ssh/id_dsa.pub) und Passwort können komplett mit Eingabe übersprungen werden.
Leider bringt OSX ssh-copy-id zum kopieren der ID auf entfernte Server nicht mit, daher muss das von Hand erfolgen. Dazu in einem Texteditor die eben erstellte Datei öffnen und dann auf dem Zielrechner einloggen und direkt aus dem Startverzeichnis dort den SSH-Schlüssel aus dem Texteditor in die Datei .ssh/authorized_keys kopieren. Ist die Datei noch nicht vorhanden wird sie neu angelegt, ansonsten den Schlüssel einfach neu anhängen.
Nach dem ausloggen kann man sich zum testen direkt nochmal per ssh zu dem Server verbinden, das sollte jetzt ohne Passwortabfrage vonstatten gehen.
Als nächstes führen wir ein Backup manuell durch um die Parameter sicher richtig zu haben. Dazu erstellen wir erstmal ein Verzeichnis in dem die Daten landen sollen, bei mir ist das /Users/mario/Backups/hosteurope.
Um sicherzugehen, dass alles läut, lohnt ein Testlauf mit rsync der keine Daten verändert sondern nur die zu sichernden Dateien auflistet:
/usr/bin/rsync --verbose --dry-run --recursive username@hostname:/pfad/zum/webspace/ /backup/pfad/
Username, Hostname, der Pfad zum Webspace und der Backuppfad müssen natürlich entsprechend ersetzt werden. Führt man den Befehl aus, wird die Verbindung zum Server geöffnet und alle Dateien die gesichert würden, werden aufgelistet. Ist alles in Ordnung, können wir den Befehl "scharfschalten", dazu wird "--verbose --dry-run" durch "--quiet" ersetzt. Jetzt können wir den Ablauf zur täglichen Ausführung einrichten.
OSX bringt mit Automator ein umfangreiches Tool mit um Prozesse zu automatisieren. Zwar benötigen wir nur zwei Arbeitsschritte, aber Automator bietet zusätzlich später noch eine bequeme Möglichkeit die Backupläufe zu planen.
Im ersten Automator-Screen "Eigene" auswählen, dann aus der Bibliothek unter Dienstprogramme "Shell-Skript ausführen" wählen und den rsync-Aufruf aus der Zwischenablage einfügen.
Um benachrichtigt zu werden, wenn das Backup abgeschlossen ist, fügen wir jetzt noch eine Growl-Benachrichtigung im Anschluss an den Shell-Aufruf ein. Die Aktion dazu findet sich ebenfalls unter Dienstprogramme, Titel und Beschreibung können beliebig gewählt werden. Durch markieren von "Sticky" bleibt die Benachrichtigung auf dem Bildschirm bis sie bestätigt wurde. Das stellt sicher, dass sie nicht übersehen wird.
Der letzte Schritt ist nun, diesen Prozess täglich auszuführen. Dazu speichern wir den Automater-Prozess als iCal-Erinnerung. (Ablage > Als Plug-In sichern...). Nach dem speichern öffnet sich iCal und fügt einen Kalendereintrag für das Backup ein. Um den normalen Kalender nicht zu unübersichtlich zu gestalten habe ich einen neuen Kalender "Automator" angelegt der normalerweise nicht sichtbar ist. Dort kann man den neuen Eintrag hineinschieben und so einstellen, dass er täglich wiederholt wird.
Das war es dann endlich, ab jetzt wird die Sicherung entsprechend dem Kalendereintrag ausgeführt und danach eine Benachrichtigung eingeblendet.