Vorwort
Seit einiger Zeit bin ich begeisterter Fan von xfce4 und Thunar als Dateimanager. Thunar bietet die Möglichkeit, sehr einfach bei bestimmten Dateien und/oder Ordnern beliebige eigene Kontextmenüeinträge zu erstellen. Daher war es naheliegend, ein kleines Skript zu schreiben mit dem man schnell und unkompliziert einen Ordner archivieren kann.
Das Skript lässt sich auch problemlos in jeden anderen Dateimanager integrieren, solange dieser eine ähnliche Schnittstelle bietet.
Voraussetzungen
Nach einigem Testen habe ich mich für rar als Archivierer entschieden. Rar ist zwar kein freier Packer, allerdings bietet rar einen guten Kompromiss zwischen Geschwindigkeit und Kompressionsrate. Außerdem kann rar automatisch beim Erstellen Archive in Teile splitten, jedem einzelnen Teil Redundanz zur Fehlerkorrektur bei Fehlern in diesem Teilarchiv hinzufügen und zusätzlich noch "recovery records" erstellen, mit denen man komplette verlorengegangene Teilarchive rekonstruieren kann.
Möchte man lieber freie Packer einsetzen, kann man das Skript sehr einfach so umschreiben, dass mit gzip/bzip2, split und parchive ein ähnlicher Effekt erziehlt wird.
Weiter benötigt man für das Skript:
- GnuPG zur Verschlüsselung der Archive
- zenity, zur Generierung von Dialogboxen
- md5sum zur Generierung von Prüfsummen
- bash
- xfce4-terminal (oder ein anderer Terminalemulator wie xterm, konsole,...) für die Integration in Thunar
Funktionsweise
Im Kopfbereich des Skripts gibt man die Größe der einzelnen Teilarchive, die Anzahl an recovery archiven und den eigenen GnuPG-Schlüssel an. Mit dem GnuPG-Schlüssel werden die einzelnen Teilarchive verschlüsselt, und am Ende die Datei mit den md5-Prüfsummen der einzelnen Teilarchive signiert.
Das Skript an sich ist recht kurz und sollte weitestgehend selbsterklärend sein.
Integration in Thunar
Zur Integration in Thunar muss unter Bearbeiten-->Benutzerdefinierte Aktionen eine neue Aktion hinzugefügt werden.
Name und Beschreibung können frei gewählt werden, als Befehl trägt man
xfce4-terminal -H --command="my_rarbackup %n"
ein. Bei einem anderen Terminalemulator muss man die Syntax eventuell anpassen.
Sollte das Skript nicht im $PATH liegen, so muss man beim --command-Parameter den kompletten Pfad angeben. Außerdem muss das Skript ausführbar sein.
Im Tab "Dateizuordnung" wählt man nun noch Muster "*" (ohne die ""), und Hakt "Ordner" als einzigen Typ an.
Nun sollte im Kontextmenü jedes Ordners der neue Menüpunkt auftauchen.
Nachtrag vom 28.02.2010:
Der Downloadlink hat seltsamerweise nichtmehr funktioniert. Ich habe das Skript daher erneut hochgeladen.
| Anhang | Größe |
|---|---|
| my_rarbackup.gz | 793 Bytes |
| my_rarbackup.gz.sig | 72 Bytes |