comprimere dd backup al volo


23

Forse questo sembrerà una domanda stupida, ma il modo in cui sto cercando di farlo non funziona.

Sono su livecd, l'unità non è montata, ecc.

Quando eseguo il backup in questo modo

sudo dd if=/dev/sda2 of=/media/disk/sda2-backup-10august09.ext3 bs=64k

... normalmente funzionerebbe ma non ho abbastanza spazio su hd esterno su cui sto copiando (QUASI si adatta quasi). Quindi volevo comprimere in questo modo

 sudo dd if=/dev/sda2 | gzip > /media/disk/sda2-backup-10august09.gz

... ma mi sono state negate le autorizzazioni. Non capisco.


2
Non farlo. Questo non è un backup. Controlla i comandi 'dump' e 'restore'.
Juliano,

O tar o cpio ....
chris

1
Juliano, cosa intendi con 'questo non è backup'?
Phil

5
Questo non è un backup perché i backup sono seri, ben strutturati e utilizzano strumenti adeguati intesi a creare backup. Stai solo facendo una copia dei dati grezzi di una partizione. Per ripristinare questi dati, avrai bisogno di un'altra partizione con la stessa geometria, che non è garantita. Inoltre, se si danneggia un singolo blocco del proprio archivio (superblock, tabelle di inode, directory principale, ecc.), Si rischia di perdere tutti i dati. Con un backup adeguato questo non accadrà.
Juliano,

7
"Per ripristinare questi dati, avrai bisogno di un'altra partizione con la stessa geometria, che non è garantita" Perché dovrebbe averne bisogno, non può montare l'immagine della partizione su un dispositivo di loopback?
Kyle Brandt,

Risposte:


41

Hai accesso al file sda2-backup ... gz? Sudo funziona solo con il comando dopo di esso e non si applica al reindirizzamento. Se si desidera che si applichi al reindirizzamento, eseguire la shell come root in modo che anche tutti i processi figlio siano root:

sudo bash -c "dd if=/dev/sda2 | gzip > /media/disk/sda2-backup-10august09.gz"

In alternativa, è possibile montare il disco con le opzioni di montaggio uid / gid (presupponendo ext3) in modo da disporre delle autorizzazioni di scrittura come qualsiasi utente. Oppure usa root per creare una cartella in / media / disk per cui hai i permessi.

Altre informazioni che potrebbero aiutarti:

  • Le dimensioni del blocco contano davvero solo per la velocità per la maggior parte. Il valore predefinito è 512 byte che si desidera conservare per l'MBR e i dischi floppy. Dimensioni maggiori fino a un certo punto dovrebbero accelerare le operazioni, considerandolo analogo a un buffer. Ecco un link a qualcuno che ha fatto alcuni benchmark di velocità con blocchi di dimensioni diverse. Ma dovresti fare i tuoi test, poiché le prestazioni sono influenzate da molti fattori. Dai un'occhiata anche all'altra risposta di andreas
  • Se vuoi farlo attraverso la rete con ssh e netcat, quindi lo spazio potrebbe non essere un grosso problema, vedi questa domanda serverfault .
  • Hai davvero bisogno di un'immagine della partizione, potrebbero esserci migliori strategie di backup?
  • dd è un comando molto pericoloso, usa ofinvece di ife finisci per sovrascrivere quello che stai cercando di fare il backup !! Notare come i tasti oe isono uno accanto all'altro? Quindi stai molto, molto attento.

ci proverò. come lo faccio anche bs = 64k? (e devo farlo?)
Phil

Bs = 64k rende il trasferimento più veloce perché dd leggerà blocchi di 64k ciascuno invece della dimensione del blocco predefinita di (non ricordo).
chris,

Cosa ha detto chris, e se vuoi includerlo mettilo dopo dd e prima del simbolo pipe (|) in quanto è un argomento di dd.
Kyle Brandt,

1
Occasionalmente userò anche "sudo tee $ file> / dev / null" in una pipeline per consentire la scrittura su un file a cui il mio account utente non ha accesso.
Rik Schneider,

6

Nel primo caso, il dd è in esecuzione come root.

Nel secondo caso, dd è in esecuzione come root ma gzip è in esecuzione come te.

Cambia le autorizzazioni su / media / disk, concediti una shell root o esegui gzip anche come root.


3

Inoltre, puoi sostituire gzip con bzip2 --bestuna compressione molto migliore:

sudo dd if=/dev/sda2 | bzip2 --best > /media/disk/$(date +%Y%m%d_%H%M%S)_sda2-backup.bz2

3
Ad un costo di molto tempo. Vedi changelog.complete.org/archives/… "Come pensare alla compressione" per maggiori dettagli.
Bill Weiss,

@BillWeiss: grazie per il tuo commento, lettura molto interessante!
andreas,

compressione: lzma> bzip2> gzip .. velocità: gzip> bzip2> lzma. A meno che non pubblichi l'immagine del disco su Internet, non ci sono molti vantaggi per il tempo, la potenza della CPU e la memoria che stai spendendo per una migliore compressione.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.