RAR als gzip/bzip2 Ersatz über STDIN/STDOUT nutzen

Mich hat es schon länger gestört, dass ich unter Linux nur single threaded Packprogramme habe und heute bin ich auf eine Funktion von rar gestoßen, die ich noch nicht kannte:

   -si[name]
     Read data from stdin (standard input), when creating
     an archive. Optional 'name' parameter allows to specify
     a file name of compressed stdin data in the created
     archive. If this parameter is missing, the name will be
     set to 'stdin'. This switch cannot be used with -v.

Damit kann man rar als Drop-in Replacement für gzip/bzip2 nutzen.

Ein passender Ersetzung sieht dann wie folgt aus

[alt]# mysqldump bigdb | bzip2 -c > bigdb.sql
[neu]# mysqldump bigdb | rar a -sibigdb.sql bigdb.sql.rar

Wenn man die Rar Datei jetzt entpackt erhält man eine Datei mit Namen bigdb.sql

Das Entpacken nach stdout funktioniert dann wie folgt:

[alt]# bzcat bigdb.sql.bz2 | mysql bigdb
[neu]# rar -inul p bigsb.sql.rar bigdb.sql | mysql bigdb

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.