I backup prendono molto spazio, che può costare molti soldi; per ridurre lo spazio necessario si possono comprimere. Ci sono diversi modi di farlo: alcuni programmi hanno già un supporto interno per la compressione, ad esempio, l'opzione --gzip (-z) per il tar GNU manda in pipe l'intero backup attraverso il comando di compressione gzip prima di scriverlo sul mezzo di backup.
Sfortunatamente, i backup compressi possono fare danni. Per come funziona la compressione, se un singolo bit è sbagliato vengono persi tutti i dati compressi. Alcuni programmi di backup hanno la correzione degli errori automatica, ma non esiste un metodo che può gestire un gran numero di errori. Ciò significa che se il backup è compresso come fa il tar GNU, con tutto l'output compresso in una singola unità, un solo errore fa perdere tutto il backup. I backup devono essere affidabili, e questo metodo di compressione non è una buona idea.
Un metodo alternativo è comprimere ciascun file separatamente. Questo significa sempre che un file viene perso, ma tutti gli altri sono salvi. Il file perso sarebbe comunque corrotto, quindi questa situazione non è molto peggiore che non usare per niente la compressione. Il programma afio (una variante di cpio) supporta questo metodo.
La compressione può prendere del tempo, che può rallentare il programma di backup fino a renderlo troppo lento per scrivere su un nastro[1]. Questo si può evitare facendo il buffer dell'output (sia internamente, se il programma di backup è abbastanza intelligente, sia usando un altro programma), ma anche questo può non funzionare abbastanza bene; una cosa del genere dovrebbe però essere un problema solo su computer lenti.
[1] | Se il drive dei nastri non riceve dati abbastanza velocemente, si deve fermare: questo rende il backup ancora più lento e non fa bene al nastro né al drive. |