anında dd yedekleme sıkıştırma


23

Belki aptalca bir soru gibi gelebilir ama yapmaya çalıştığım şekilde çalışmıyor.

Ben canlıyım, sürücü sökülmemiş vb.

Bu şekilde yedekleme yaptığımda

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

... normalde işe yarayacaktı ama harici hd üzerinde kopyalayacağım yeterli alana sahip değilim (buna ALMOST uyuyor). Bu yüzden bu şekilde sıkıştırmak istedim

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

... ama izinlerim reddedildi. Anlamadım


2
Yapma. Bu bir yedekleme değil. 'Dump' ve 'Restore' komutlarını kontrol edin.
Juliano

Veya katran veya cpio ....
chris

1
Juliano, 'bu yedek değil' derken ne demek istiyorsun?
Phil,

5
Bu bir yedekleme değildir, çünkü yedeklemeler ciddidir, iyi yapılandırılmıştır ve yedeklemeler oluşturmak için uygun araçları kullanır. Sadece bir bölümün ham verilerinin bir kopyasını alıyorsunuz. Bu verileri geri yüklemek için, aynı geometriye sahip başka bir bölüme ihtiyacınız olacaktır; bu garanti edilmez. Ayrıca, arşivinizin tek bir bloğuna (süper blok, inode tabloları, kök dizini, vb.) Zarar verirseniz, tüm verilerinizi kaybetme riskiniz olur. Uygun bir yedekleme ile bu olmazdı.
Juliano

7
“Bu verileri geri yüklemek için, aynı geometriye sahip başka bir bölüme ihtiyacınız olacak, bunun garantisi yok” Neden buna ihtiyacı var ki, bölüm görüntüsünü bir geridöngü aygıtına monte edemiyor mu?
Kyle Brandt,

Yanıtlar:


41

Sda2-backup ... gz dosyasına erişiminiz var mı? Sudo yalnızca ondan sonra gelen komutla çalışır ve yönlendirme için geçerli değildir. Yeniden yönlendirmeye uygulanmasını istiyorsanız, kabuğunu kök olarak çalıştırın, böylece tüm alt işlemler kök olur:

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

Alternatif olarak, diski uid / gid mount seçenekleriyle (ext3 varsayarak) dağıtabilirsiniz, böylece ne tür bir kullanıcı olursanız olun yazma izniniz olur. Veya, / media / disk içinde izinleriniz olan bir klasör oluşturmak için root kullanın.

Size yardımcı olabilecek diğer bilgiler:

  • Blok büyüklüğü sadece hız için gerçekten önemlidir. Varsayılan, MBR ve disketler için saklamak istediğiniz 512 bayttır. Bir noktaya daha büyük boyutlar işlemleri hızlandırmalı, bir tampon belleğe benzer olduğunu düşünmelidir. Burada, farklı blok ebatlarında bazı hız testleri yapan biriyle bağlantı var . Ancak performans birçok faktörden etkilendiğinden kendi testinizi yapmalısınız. Ayrıca andreas'ın diğer cevabına da bakınız.
  • Ağ üzerinden ssh ve netcat ile bunu gerçekleştirmek istiyorsanız, alan bir sorun kadar büyük olmayabilir, bu sunucu hatası sorusuna bakın .
  • Gerçekten bölüm görüntüsüne ihtiyacınız var mı, daha iyi yedekleme stratejileri olabilir mi?
  • dd çok tehlikeli bir komuttur, ofyerine kullanın ifve neyi yedeklemeye çalıştığınızın üzerine yazabilirsiniz! Anahtarların ove yan yana iolduklarına dikkat edin. Bu yüzden çok çok çok dikkatli ol.

Bunu deneyeceğim. bs = 64k da nasıl yaparım? (ve yapmak zorunda mıyım?)
Phil

Bs = 64k yalnızca aktarımı daha hızlı yapar, çünkü dd, varsayılan blok boyutu yerine her birinin 64k'lık bloklarını okuyacaktır (hatırlamıyorum).
chris

Chris ne dedi, ve onu eklemek istiyorsanız dd'den sonra ve dd'ye bir argüman olduğu için boru sembolünden (|) önce koyun.
Kyle Brandt,

1
Ayrıca, zaman zaman kullanıcı hesabımın da erişemediği bir dosyaya yazma izni vermek için bir boru hattında "sudo tee $ file> / dev / null" kullanacağım.
Rik Schneider

6

İlk durumda, dd root olarak çalışıyor.

İkinci durumda, dd root olarak çalışıyor fakat gzip de sizin gibi çalışıyor.

/ Media / diskteki izinleri değiştirin, kendinize bir kök kabuğu verin veya gzip'i de root olarak çalıştırın.


3

Buna ek olarak, bzip2 --bestdaha iyi sıkıştırma için gzip ile değiştirebilirsiniz :

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

3
Çok fazla zaman pahasına. Daha fazla ayrıntı için bkz. Changelog.complete.org/archives/… "Sıkıştırma hakkında nasıl düşünülmeli".
Bill Weiss,

@BillWeiss: Yorumunuz için teşekkürler, çok ilginç okuma!
andreas

sıkıştırma: lzma> bzip2> gzip .. hız: gzip> bzip2> lzma. Disk görüntüsünü internette yayınlamadığınız sürece, daha iyi bir sıkıştırma için harcadığınız zamana, CPU gücüne ve belleğe pek faydası olmaz.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.