Μία καλή επιλογή εάν έχουμε ΗΥ με πολλούς πυρήνες είναι η χρήση του pigz (παράλληλο gzip). Με την χρήση του pv έχουμε progress bar. Χρησιμοποιούμε 1,2 πυρήνες λιγότερους από όσους διαθέτουμε και συμπίεση -5 που έχει καλή σχέση χρόνου συμπίεσης και ποσοστού συμπίεσης.
Για συμπίεση ενός φακέλου
folder=myfolder tar -c $folder | pv --size $(du -b $folder | tail -n 1 | cut -f1) | pigz -p 5 -5 > $folder.tar.gz
ή χωρίς progress bar
folder=myfolder tar -c $folder | pigz -p 5 -5 > $folder.tar.gz
Για backup sd κάρτας, που έστω ότι αναγνωρίστηκε ως /dev/sdb
dd if=/dev/sdb | pv | pigz -p 5 -5 > sdbackup.img.gz
Για αποσυμπίεση μέχρι 2 πυρήνες μπορούν να χρησιμοποιηθούν
pv folder.tar.gz | unpigz -p 2 | tar xvf -
ή χωρίς progress bar
unpigz -p 2 < folder.tar.gz | tar xvf -
Αποσυμπίεση και εγγραφή σε κάρτα sd
unpigz -p 2 -c sdcard.img.gz | dd of=/dev/sdd bs=1M
Δεν είναι πάντα η πιο γρήγορη, να γίνεται δοκιμή και με 1 διεργασία
gzip -dc sdcard.img.gz | dd of=/dev/sdd bs=1M
Για να δούμε progress, εκτελούμε σε ένα άλλο τερματικό
watch -n 10 'killall -USR1 dd'
pixz -d -c sdcard.img.xz | dd of=/dev/sdd bs=1M