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

Diese werden per pipe an egrep -v übergeben, um so die Pfade auszufiltern, welche nicht im Archiv landen sollen.

Jetzt=`date +%Y%m%d`
cd /media/usb_backup

touch datumsflag
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