afio ist ein Programm, welches der Archivierung und damit der Sicherung dient, ähnlich wie tar und auch cpio.

afio ist eine Weiterentwicklung von cpio, wird fast identisch bedient und erzeugt auch dessen Archive.

Im Unterschied zu cpio reagiert afio weniger restriktiv auf Eingabe-Fehler, ermöglicht das interaktive Aufteilen der Archive auf mehrere Datenspeicher (z.B. CDs) und komprimiert Archive deutlich sicherer.
Und es gibt zusätzliche Features.
Bei der Komprimierung von Archiven kann afio bereits komprimierte Dateien von der Komprimierung ausschließen, wie z.B. mp3- oder jpeg-Dateien. Diese Dateien werden direkt in das Archiv geschrieben, was das Backup erheblich beschleunigen kann.

afio kann in verschiedenen Modi arbeiten.

-o

Erzeugt ein cpio-Archiv aus den Dateien und Verzeichnissen, welche über Standard In übergeben wurden

-t

Gibt den Inhalt des Archivs aus

-i

Entpackt den Inhalt des Archivs im aktuellen Verzeichnis

-p

Kopiert Dateien, welche über Standard In übergeben wurden

-r

Prüft des Archives gegen das Dateisystem, um Archiv-Fehler zu finden

Häufige Optionen sind:

-Z

Archiv wird komprimiert

-E

Definieren, welche Dateitypen nicht komprimiert werden sollen

-v

Ausgaben des Programms erhöhen

Homepage: http://freshmeat.net/projects/afio/

Lizenz: LGPL, allerdings scheint der original-Quellcode nicht LGPL-Kompatibel zu sein.

Beispiel

Es soll ein Archiv Namens sicherung.cpio im aktuellen Verzeichnis erstellt werden, welches die Verzeichnisse /data und /home/User enthält.

Mit Hilfe von find werden die Pfade aller Verzeichnisse und Dateien der angegebenen Verzeichnisse ausgegeben, hier der Verzeichnisse /data und /home/User.
Die Option -depth bewirkt, dass die Inhalte der Verzeichnis vor den Verzeichnissen selbst ausgegeben werden.
Die Pfade werden per Pipe an afio übergeben.

find /data /home/User -depth | afio -o -v -Z sicherung.cpio

Erweitertes Beispiel:

Um so die Pfade auszuklammern, welche nicht im Archiv landen sollen, wird die Ausgabe der Pfade durch egrep -v "^Pfad" gefiltert.
Über Nice wird die Priorität des Backups reduziert, damit andere Jobs flüssiger arbeiten können.
Die Sicherungsdatei bekommt einen Zeitstempel über die Variable Jetzt, welche eine formatierte Ausgabe von date enthält.

Jetzt=`date +%Y%m%d`

find /data /home/User -depth \
| egrep -v "(^/data/Bilder/_tmp|^/data/home/User/privat/|^/home/USer/Videos|^/home/User/.VirtualBox)"\
| nice afio -o -E +/home/User/bin/excludeCompress.txt -v -Z sicherung_$Jetzt.cpio

Der Datei /home/User/bin/excludeCompress.txt werden die Dateiendungen hinzugefügt, welche nicht komprimierbar sind und in der Voreinstellung nicht enthalten sind. Die voreingestellten Dateiendungen, welche nicht komprimiert werden, sind:
.Z .z .gz .bz2 .tgz .arc .zip .rar .lzh .lha .uc2 .tpz .taz .tgz .rpm .zoo .deb .gif .jpeg .jpg .tif .tiff .png .pdf .arj .avi .bgb .cab .cpn .hqx .jar .mp3 .mpg .mpq .pic .pkz .psn .sit .ogg und .smk

Beispiel für die /home/User/bin/excludeCompress.txt

.mov 
.mpeg
.mp4
.7z

afio (zuletzt geändert am 2011-01-04 22:12:38 durch JoernBruns)