--threads=0 sorgt dafür das alle verfügbaren Kerne genutzt werden, sofern der reservierte RAM reicht.
export XZ_DEFAULTS="--threads 0"
wenn man evtl. noch das kompressionslevel erhöht ( -9) dann muss man mehr ram erlauben. bei 20 threads und level 9 wollte xz 24GB RAM zum packen (entpacken 64MB) evtl. wäre dann sowas nett:
export XZ_DEFAULTS="-9 --threads=20 --memlimit=32000M"
beim packen werden alle Gruppen und Rechte gesichert
tar --acls --xattrs -cpvJf verzeichnis.tar.xz verzeichnis/*
entpacken mit erhalten von allen Rechten usw. (auch falls ein User nicht existiert, beim Wiederherstellen oft nützlich)
tar -xpvJf verzeichis.tar.xz --acls --xattrs --xattrs-include='*.*' --numeric-owner
excludes.txt mit diesem inhalt anlegen
# Dateisystem spezifisch. nicht sichern
lost+found
# Systemverzeichnisse die zur Laufzeit mit Inhalten gefuellt werden
/dev/*
/proc/*
/run/*
/sys/*
/var/lock/*
/var/run/*
# Temp Verzeichnisse
/var/tmp/*
/tmp/*
# Home, extra Backup
/home/*
# Virtuelle Maschinen Images, extra Backup
/var/lib/libvirt/images/*
# heruntergeladene Source Archive
/var/cache/distfiles/*
# alte gepackte logs
/var/log/*.gz
# Zielverzeichnis, weder Verzeichnis noch Inhalte sichern
/backup/
# Sonst gibt es einen Fehler, "Datei hat sich während des Lesens geändert"
/root/.bash_history
jetzt kann komprimiert werden
tar --exclude-from=/backup/excludes.txt --acls --xattrs -cpvJf /backup/root-$(date +"%Y%m%d%H%M%S").tar.xz /