Komut başarıyla sonlandırılırsa, bir donanım arızasını (gerçekleştirebileceğiniz herhangi bir doğrulamayı eşit derecede etkileyebilir) engelleyen yedekleme doğrudur. Donanım arızalıysa daha sonra yanlış olabilir, ancak çoğu depolama donanımı bozulma algılar.
Burada bir uyarı var: bir boru hattında, kabuk sol taraftan hata bildirmiyor. (Bunun nedeni sağ taraftaki tüm verileri, örneğin okumak gerekmez oldukça yaygın senaryo ise some_command | head
, ve sol taraftaki ölür çıkış artık aranan çünkü.) Yani burada bir okuma hatası dd
misiniz? Öğesinin yok sayılmak. Bash'da, pipefail
boru hattının tüm bölümlerindeki hataları bildirme seçeneğini ayarlayın .
Ayrıca, dd bs=…
bazı hataları yok sayar ve dd
genellikle alternatiflerden daha yavaş olduğuna dikkat edin . Hiç kullanmamanızı tavsiye ederim dd
: sadece bir dosyayı kopyalamanın faydası yoktur. dd
Bir yerde okumuş olabileceğinizin aksine , özel özellikli düşük seviyeli bir disk erişim komutu değil, kesinlikle sihir yok dd
, sihir var /dev/hda
.
shopt -s pipefail
set -e
</dev/hda buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img"
Bununla birlikte, yedeklemeyi kontrol etmek istiyorsanız, en iyi yol her iki tarafta bir kriptografik sağlama toplamı almak ve karşılaştırmaktır. Örneğin:
ssh myuser@myhost "sha1sum image.img" &
sudo sha1sum /dev/hda
İki sağlama toplamının aynı olup olmadığını kontrol edin.
Bunun, yedeklemenin ve orijinalin kontrol sırasında aynı olup olmadığını test ettiğini unutmayın. Herhangi /dev/hda
bir değişiklik yapmadan bile (çoğu dosya sisteminde son bağlama tarihini güncelleyecek) bir dosya sistemini bağlama ve bağlantısını kesme dahil olmak üzere değiştirdiğiniz her şey sağlama toplamını değiştirir. Bütünlüğü daha sonra doğrulamak istiyorsanız, yedekleme sırasında diskin sağlama toplamını bir yere not edin.