ラップトップの HDD を安全にバックアップし、必要に応じてバックアップを迅速に使用できるようにする方法を考えていました。私の方法は次のとおりです。同じサイズの 2.5 インチ HDD を USB - SATA ケーブルで購入し、それに内部のクローンを作成します。災害が発生した場合は、ラップトップの HDD を別の HDD と交換するだけで済みます。でも、HDD をバックアップするたびに 500 GB を書き込むのは避けたいと思います。次の md5sum/dd スクリプトが助けになることを願っています:
#!/bin/bash
block="1M"
end=50000
count=10
input="/dev/sda"
output="/dev/sdb"
output="/path/to/imagefile"
function md5compute()
{
dd if=$1 skip=$2 bs=$block count=$count | md5sum - | awk '{ print $1 }'
}
for i in {0..$end}
do
start=$(($i*$count))
md5source=$(md5compute $input $start)
md5destination=$(md5compute $output $start)
if [ "$md5source" != "$md5destination" ]
then
dd if=$input of=$output skip=$start seek=$start count=$count conv=sync,noerror,notrunc
fi
done
さて、質問の部分:
A) これを実行すると、ディスクの一部が失われますか? いくつかの欠陥がありますか?
B) 500GB の読み取り/書き込みと比較して、ある程度の時間を勝ち取ることができますか?
C) 明らかに、ターゲット ディスクへの書き込みが少なくなる可能性があります。そのディスクの寿命を延ばすことはできますか?
D) count を 1 のままにして、ブロック サイズを大きくしようと考えていました。これは良い考えですか、それとも悪い考えですか?
E) この同じスクリプトは、画像ファイルを出力として使用できますか?
プログラミングはあまり得意ではありませんが、改善の余地は十分にあります。何かヒントはありますか?
皆さん、ありがとうございました...