16. Dezember 2012

Automatisches Backup mit iCal, Automator und Transmit

Kalender Icon

In letzter Zeit bin ich etwas paranoid, was meine Daten angeht. Seitdem ich diesen Artikel las, beschäftige ich mich mit Cloud-Backups und habe auch zum Black Friday einen Deal bei CrashPlan abgeschlossen. Dabei ging es hauptsächlich um seit Jahren gesammelte Fotos, die ich für den Fall der Fälle außerhalb meiner Wohnung parat haben wollte. Was aber, wenn plötzlich der Hoster meines Vertrauens einen Ausfall hat, der Daten unwiderruflich vernichtet?

Dieser Gedanke war Grund genug für mich, nicht nur regelmäßig Backups auf meinem Webspace erstellen zu lassen, sondern diese auch zu Dropbox zu übertragen. Dazu habe ich folgendes verwendet:

Den Weg dahin und das Ergebnis möchte ich gern mit dir teilen. Zur Nachahmung wird geraten 😉

Voraussetzungen

Einerseits solltest du Transmit besitzen. Andernfalls macht die Anleitung hier kaum Sinn.[1] Ich gehe weiterhin davon aus, dass das Backup auf deinem Server bereits existiert[2] und du FTP-Zugriff[3] hast. Wichtig ist aber letztenendes nur, dass du eine Datei auf deinem Server hast, die ein Backup beinhaltet und auf deine Festplatte übertragen werden soll.

Prinzip

  1. Verbindung in Transmit erstellen, die per AppleScript angesprochen werden kann.
  2. AppleScript erstellen, das lokalen Ordner mit dem deines Servers synchronisiert.
  3. Das resultierende Skript in eine App-Hülle verpacken und regelmäßig als Kalender-Event ausführen (lassen).

Schritt 1 – Verbindung in Transmit

In Transmit musst du einen neuen Favoriten anlegen…

Hinzufügen eines Favoriten I

Hinzufügen eines Favoriten I

…, der die Verbindung zu deinem Server aufbaut.

Hinzufügen eines Favoriten II

Hinzufügen eines Favoriten II

Das einzige, was du dir merken musst: Name des Favoriten und der Pfad zum Backup-Ordner auf deinem Server.

Schritt 2 – Script erstellen

Bitte einmal den AppleScript-Editor (zu finden unter Programme/Dienstprogramme oder über Alfred, Spotlight, etc.) öffnen und folgendes Skript dort einfügen:

tell application "Transmit"
    set myFave to item 1 of (favorites whose name is "nameDesFavoriten")
   set myDoc to make new document at end
   tell current tab of myDoc
      connect to myFave
       change location of local browser to path "~/Pfad/zum/lokalen/Ordner"
       change location of remote browser to path "/Pfad/zum/entfernten/Ordner"
       synchronize remote browser to local browser with delete orphaned items
       close remote browser
   end tell
   close current tab of myDoc
end tell

tell application “Transmit” to quit

An folgenden Stellen musst du das Skript auf dich und deine Umgebung anpassen:

  • nameDesFavoriten muss dem Namen des – wait for it – Favoriten entsprechenden, den du in Transmit angelegt hast.
  • ~/Pfad/zum/lokalen/Ordner ist der Ordner auf deiner Festplatte, in dem das Backup gespeichert werden soll.[4]
  • ~/Pfad/zum/entfernten/Ordner ist der Ordner auf deinem Server, der das Backup beinhaltet.

Anschließend darfst du das Skript gern mal ausführen (Button oben im Editor) und schauen, ob alles funktioniert.

Schritt 3 – Automator-Workflow

Das Skript hätten wir, fehlt noch das versprochene regelmäßig. Und da kommt unser aller Freund, der Automator ins Spiel. Einmal öffnen bitte (befindet sich im Programme-Ordner). Im Auswahlfenster Kalendererinnerung wählen.

Art des Dokuments: Kalendererinnerung

Art des Dokuments: Kalendererinnerung

In der Aktionsliste links kannst du über das Suchfeld AppleScript ausführen finden. Diese Aktion musst du in den dafür vorgesehenen Bereich ziehen.

Aktion in das Aktionenfenster ziehen

Aktion in das Aktionenfenster ziehen

Anschließend noch das Skript von oben in das entsprechende Feld einfügen und den gerade erstellten Workflow abspeichern. Du darfst dir einen Titel für das zu erstellende Kalendererignis aussuchen und nachdem du Sichern gedrückt hast, sollte sich der Kalender öffnen. Dort solltest du einen neuen Kalender namens Automator wiederfinden, darin enthalten: das Ereignis mit dem gerade vergebenen Namen.

Markiere das Ereignis und drücke ⌘E (alternativ RechtsklickInformationen), um es zu bearbeiten. Je nachdem wie oft das Skript durchlaufen soll, kannst du unter Wiederholen eine Regelmäßigkeit einstellen.

Tägliche Backups?

Tägliche Backups?

Auch die Uhrzeit kannst du so einstellen, wie es dir passt. Zur Inspiration: meine Backups laufen jeden Morgen um 9:30 Uhr durch.

Und jetzt: sicher fühlen

Du darfst dich zurücklehnen. Wenn du hier angekommen bist, hast du die Aufgabe gemeistert, junger Padawan.[5] Deine Webspace-Daten werden fortan redundant auf deiner Festplatte gespeichert um im Notfall ein Backup parat zu haben. Ich bin stolz auf dich 🙂


  1. Alternativ könntest du ein FTP-Programm suchen, das eine ähnliche gute AppleScript-Unterstützung hat. Mit Transmit machst du aber nichts falsch, glaub mir.  ↩
  2. Sollte dem nicht so sein, empfehle ich dir BackWPup, falls dein Blog unter WordPress läuft.  ↩
  3. Hier ggf. deinen Hoster kontaktieren, falls du nicht weißt, was gemeint ist.  ↩
  4. In meinem Fall ~/Dropbox/iEnno/Backup, damit ich die Daten nicht nur auf meiner Festplatte, sondern auch in der Cloud habe.  ↩
  5. Und ja, ich schreibe Star-Wars-Anlehnungen in meinen Blog, obwohl ich noch keinen der Filme gesehen habe.  ↩

Dir gefällt, was du liest?
Sehr schön ;) Erzähl es doch weiter!