unhardcoded
This commit is contained in:
parent
ff911640d5
commit
357c7120c6
22
fixBlocks.sh
22
fixBlocks.sh
@ -3,11 +3,11 @@
|
|||||||
#info @ EOF
|
#info @ EOF
|
||||||
#Скриптец проходится по ошибкам на диске и затирает их ddшкой.
|
#Скриптец проходится по ошибкам на диске и затирает их ddшкой.
|
||||||
#ACHTUNG! данные на диске могут быть утеряны!
|
#ACHTUNG! данные на диске могут быть утеряны!
|
||||||
#Написано для диска sda с одним разделом sda1 на весь диск
|
#Написано для диска sdba с одним разделом sdb1 на весь диск
|
||||||
|
|
||||||
DISK="/dev/sda"
|
DISK="/dev/sdb"
|
||||||
|
|
||||||
block=$(smartctl --all /dev/sda | grep 'Short offline' | grep '# 1' | awk '{print $10}')
|
block=$(smartctl --all $DISK | grep 'Short offline' | grep '# 1' | awk '{print $10}')
|
||||||
echo "Fixing: " $block
|
echo "Fixing: " $block
|
||||||
|
|
||||||
calcForm="(($block-2048)*512)/4096"
|
calcForm="(($block-2048)*512)/4096"
|
||||||
@ -16,24 +16,24 @@ ddblock=$(echo $calcForm | bc)
|
|||||||
|
|
||||||
#echo '(($block-2048)*512)/4096'
|
#echo '(($block-2048)*512)/4096'
|
||||||
|
|
||||||
echo "for dd: " $ddblock
|
echo "seek (dd): " $ddblock
|
||||||
dd if=/dev/random of=/dev/sda1 bs=4096 count=1 seek=$block
|
dd if=/dev/random of=$DISK'1' bs=4096 count=1 seek=$block
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
let ddblock+=1
|
let ddblock+=1
|
||||||
echo "for dd: " $ddblock
|
echo "seek (dd): " $ddblock
|
||||||
dd if=/dev/random of=/dev/sda1 bs=4096 count=1 seek=$block
|
dd if=/dev/random of=$DISK'1' bs=4096 count=1 seek=$block
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
let ddblock-=2
|
let ddblock-=2
|
||||||
echo "for dd: " $ddblock
|
echo "seek (dd): " $ddblock
|
||||||
dd if=/dev/random of=/dev/sda1 bs=4096 count=1 seek=$block
|
dd if=/dev/random of=$DISK'1' bs=4096 count=1 seek=$block
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
smartctl -t short /dev/sda -q errorsonly
|
smartctl -t short $DISK -q errorsonly
|
||||||
sleep 10
|
sleep 10
|
||||||
echo "New badblock: "
|
echo "New badblock: "
|
||||||
smartctl --all /dev/sda | grep 'Short offline' | grep '# 1' | awk '{print $10}'
|
smartctl --all $DISK | grep 'Short offline' | grep '# 1' | awk '{print $10}'
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user