[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Festplatten unterschiedlicher Groesse klonen


Am Montag, 2011-02-07 22:11:46 schrieb Stephan Gromer:

> Koenntest Du einmal Dein ganzes Skript posten.

Gern! (Netzwerkanschluesse ausschalten klappt nicht mehr,
Piepsen am Schluss auch nicht, Gruende unbekannt):


#! /bin/sh
# Spiegeln kompletter Festplatten oder Partitionen
# Werner Holtfreter 2008-09-11

quelle=/dev/sda
ziel=/dev/sdb
protokoll=/media/fd0/prot.txt

/sbin/hdparm -S 120 /dev/hdb
/sbin/hdparm -S 120 /dev/sda
/sbin/hdparm -S 120 /dev/sdb
/sbin/hdparm -S 120 /dev/sdc
/sbin/hdparm -S 120 /dev/sdd

# in 5-s-Einheiten, 5 * 120 = 600 s = 10 min

echo "Evtl. Floppy einlegen!"
echo -n "KNOPPIX: k   andere Platten: a   sonst Anschlusstest Quelle $quelle   Alternativen: POWER OFF oder RESET "
read i
case "$i" in
 k) exit;;
 a) echo -n "Quelle: "; read quelle
    echo -n "Ziel:   "; read ziel
    echo -n "Anschlusstest Quelle $quelle mit ENTER "
    read ;;
esac

error=0
dd  if=$quelle of=/dev/null count=100000 || error=1
echo -n "Anschlusstest Ziel $ziel mit ENTER "
read
dd  if=$ziel of=/dev/null count=100000 || error=1

if [ "$error" = 0 ]; then
 echo -n "Wenn richtige Festplatten: Kopieren mit ENTER "
 read
else
 echo -n "KNOPPIX mit ENTER "
 read
 exit
fi

i=9
echo "Netzwerkanschluss $i bis 0 ausschalten."
while [ $i -ge 0 ]
do ifconfig eth$i down
 i=$[$i-1]
done

mount -t vfat /dev/fd0 /media/fd0

echo "" | tee -a $protokoll
echo $(date -I;date +%T) "Start kopieren" | tee -a $protokoll
dd  if=$quelle of=$ziel bs=1M ##########Zeile auskommentieren, um Fehlererkennung zu testen
echo $(date -I;date +%T) "kopieren fertig, Start parallel beide md5sum bestimmen" | tee -a $protokoll
md5sum $quelle > quelle.chk &
echo $(date -I;date +%T) "md5sum Quelle gestartet und in den Hintergrund geschickt" | tee -a $protokoll ####Debugzeile
zsum=$(md5sum $ziel)
echo $(date -I;date +%T) "md5sum Ziel fertig"   | tee -a $protokoll   ############Debugzeile
wait
echo $(date -I;date +%T) "md5sum Quelle fertig" | tee -a $protokoll   ############Debugzeile
qsum=$(cat quelle.chk); #rm quelle.chk

mount -t vfat /dev/fd0 /media/fd0

echo "$qsum Quelle" | tee -a $protokoll
echo "$zsum Ziel"   | tee -a $protokoll
qsum=${qsum%%/*}
zsum=${zsum%%/*}

smartctl -H $quelle | tee -a $protokoll
smartctl -H $ziel   | tee -a $protokoll

echo "CD auswerfen   Alternativen: POWER OFF oder RESET. Floppy nicht vergessen."

if [ "$qsum" = "$zsum" ]; then
 echo "                                                  OK" | tee -a $protokoll
 i=40
 while [ $i -gt 0 ]
  do
   echo -e "\a\c"
   sleep 1
   echo -e "\a\c"
   i=$[$i-1]
   sleep 3
  done
else
 echo "                                                  FEHLER ###############" | tee -a $protokoll
  i=180
 while [ $i -gt 0 ]
  do
   echo -e "\a\c"
   sleep 1
   i=$[$i-1]
  done
fi

shutdown -h now


-- 
Viele Gruesse
Werner Holtfreter
-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/