]> git.sur5r.net Git - bacula/rescue/blobdiff - rescue/linux/usb/src/scripts/restore/checkdiffnew2
Add new usb rescue key code
[bacula/rescue] / rescue / linux / usb / src / scripts / restore / checkdiffnew2
diff --git a/rescue/linux/usb/src/scripts/restore/checkdiffnew2 b/rescue/linux/usb/src/scripts/restore/checkdiffnew2
new file mode 100755 (executable)
index 0000000..f4ba681
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+if [ -d difftmpdir ];then
+rm -r difftmpdir
+fi
+if [ -f newdiskorder ];then
+rm -r newdiskorder
+fi
+if [ -d working ];then
+rm -r working
+fi
+cp -r clients/$clientdir working
+
+mkdir -p difftmpdir
+usb=`blkid |grep home-rw|cut -d: -f1`
+usb=${usb%?}
+fdisk -l |grep /dev|grep -v $usb|grep -v /dev/md|grep :|cut -d: -f1|cut -d" " -f2|while read line;do
+l=`echo $line |cut -d"/" -f3`
+echo "/dev/"$l>difftmpdir/hdparm.$l
+hdparm -i $line |grep Serial|cut -d, -f3 >>difftmpdir/hdparm.$l
+done
+for i in `ls difftmpdir`;do
+diff difftmpdir/$i clients/$clientdir/diskinfo/$i >>/dev/null
+  if [ ! $? = 0 ];then
+oldserial=`grep Serial clients/$clientdir/diskinfo/$i`
+oldev=`grep /dev clients/$clientdir/diskinfo/$i`
+       for n in `ls difftmpdir`;do
+       grep $oldserial difftmpdir/$n>/dev/null
+               if [ $? = 0 ];then
+               newdev=`grep /dev difftmpdir/$n`
+               echo "device " $oldev "has become " $newdev
+               echo $newdev " previously " $oldev>>newdiskorder
+               fi
+
+       done
+  fi
+done
+