USB Stick automatisch sichern

Da ich einen meiner Sticks verloren habe und von den Daten dadrauf kein Backup hatte (Schande über mein Haupt) musste eine Lösung her, damit so etwas nicht erneut passiert. Nach einer kurzen Twitterfragerunde mit einigen netten Überlegungen habe ich mich für die Lösung von @MacLemon entschieden, die auf sein mlbackup (quasi eine Erweiterung von rsync) aufsetzt.

Zuerst musste mlbackup auf meinem Mac installiert werden, MacLemon bietet dazu einen wunderbaren, ganz einfachen Klickibuntiinstaller, total maclike!

 

Mit mlbackup wird eine Beispielkonfiguration mitgeliefert, die ich modifiziert und unter einem angepassten Namen gespeichert habe. Hier der unkommentierte Code, den ich in der Datei “~/Documents/USB-Backup/snowball1.mlbackupconf” habe:

 

MLbackupName=”Backup-USB”

MLbackupCount=2

MLsourcePath=”/Volumes/SNOWBALL1″

MLdestPath=”$HOME/Documents/USB-Backup/SNOWBALL1″

MLadminEmail=””

MLuseGlobalExclusions=1

MLconfigExcludeFrom=””

 

Hier wird also der Stick “SNOWBALL1” in meinem Dokumenteordner gespeichert, wobei zwei Kopien aufbewahrt werden (ich will mich ja nur vor Datenverlust durch verlieren schützen). Die Konfiguartionsdatei selber liegt auch im Dokumenteordner, damit ich dort einfach ran kann, wenn ich was ändern möchte.

 

Ein Test über das Terminal mit 

 

“mlbackup /Users/holgerkrupp/Documents/USB-Backup/snowball1.mlbackupconf”

 

legt in meinem vorbereiteten Verzeichnis “~/Documents/USB-Backup/” ein Unterverzeichnis mit Datum und Zeit an, wann das Backup erstellt wurde.

 

So weit so gut, nun musste das ganze noch automatisiert werden, denn schon am nächsten Tag hätte ich sicher nicht mehr dran gedacht regelmäßig Backups zu machen.

 

Dazu habe ich mir (auch nach Tipp von MacLemon) in meinem Verzeichnis “~/Library/LaunchAgents/” eine Datei “at.maclemon.mlbackup.snowball1.plist” mit folgendem Inhalt angelegt:

 

<?xml version=”1.0″ encoding=”UTF-8″?>

<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>

<plist version=”1.0″>

<dict>

<key>Label</key>

<string>at.maclemon.mlbackup.snowball1.plist</string>

<key>ProgramArguments</key>

<array>

<string>/usr/local/bin/mlbackup</string>

<string>/Users/holgerkrupp/Documents/USB-Backup/snowball1.mlbackupconf</string>

</array>

<key>WatchPaths</key>

<array>

<string>/Volumes</string>

</array>

</dict>

</plist>

 

Und über das Terminal mit “launchctl load ~/Library/LaunchAgents” alle LaunchAgents meines Benutzers neu geladen.

 

Dieser LaunchAgent guckt nun die ganze Zeit nach, ob sich was in /Volumes ändert und wenn ja, dann versucht er SNOWBALL1 zu backupen (wie man sieht wird die mlbackup Konfigurationsdatei aufgerufen).

 

Link zum Thema: http://maclemon.at/mlbackup