Hazel: Dateien bei Bedarf in TrueCrypt sichern

Ich habe aus der Notwendigkeit Paranoia, TrueCrypt bei Bedarf zu laden und wichtige Dokumente sicher dorthin zu sichern eine Hazel-Abfolgeregel erstellt, die die Inhalte im Ordner „Dokumente“ bei jeder Änderung in einen hochverschlüsselten TrueCrypt-Container container.tc, der als Laufwerk mit der Bezeichnung Dokumente geladen wird, kopiert.

hazel-rule--truecrypt-bei-bedarf-laden

Zur Erklärung: Ich erstelle eine Bedingung, die alle Dateien und Ordner erfasst („Any File“), außer die Ordner „Adobe“ und „Microsoft-Benutzerdaten“, die die jeweiligen Programme in meinem Dokumente-Ordner abgelegt haben.

Wenn diese Bedingung erfüllt ist, führt Hazel das Shell-Skript zum Laden eines TrueCrypt-Containers aus. Dieses Skript muss über die „Edit script“-Funktion eingegeben werden. (Wäre, das nur nebenbei, das Skript extern gespeichert und Hazel würde es nur aufrufen, würde lediglich der Aufruf des Skripts als bereits erfüllte Bedingung zählen. Resultat? Der Kopiervorgang wird zu einem Zeitpunkt ausgeführt, zu dem das TrueCrypt-Volume noch gar nicht zur Verfügung steht – und damit scheitern.)

if ! [[ $(mount | grep -i "dokumente") ]]
then
    /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt --mount /Users/[Benutzer]/Documents/container.tc
fi

Verständlich erklärt, prüft das Skript, ob ein Laufwerk mit dem Namen „Dokumente“ (Groß-/Kleinschreibung egal) geladen ist und wenn nicht, dann startet es den Mount-Prozess von TrueCrypt, in dem es den verschlüsselten Container – container.tc – als Argument an TrueCrypt übergibt.

Wurde dieses Skript ausgeführt (TrueCrypt sollte sich mit einer Aufforderung zur Passworteingabe melden, damit das verschlüsselte Volume geladen werden kann), kopiert Hazel alle Inhalte bis auf „Adobe“ und „Microsoft-Benutzerdaten“ in das soeben geladene TrueCrypt-Volume. Anschließend führt Hazel das nächste Shell-Skript aus, das den Container wieder entlädt.

if [[ $(mount | grep -i "dokumente") ]]
then
    /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -d /Volume/Dokumente
fi

Hier wird zuerst geprüft, ob ein Volume mit dem Namen „Dokumente“ (Groß-/Kleinschreibung ist egal) geladen ist. Wenn ja, wird TrueCrypt mit dem Parameter -d befohlen, das Volume „Dokumente“ auszuwerfen.

Zusammengefasst wird also durchs Ablegen oder Ändern einer Datei im Ordner „Dokumente“ eine Hazel-Abfolgeregel ausgelöst, die (1) einen TrueCrypt-Container mounted, (2) die Inhalte des „Dokumente“-Ordners dorthin kopiert und (3) das TrueCrypt-Volume wieder entlädt. Die zeitlich längste Aktion dieser Abfolge ist die Eingabe des TrueCrypt-Passworts seitens des Benutzers. Sobald das Volume wieder entladen ist, sind die Dateien sicher.