]> git.sur5r.net Git - bacula/rescue/blob - rescue/linux/usb/src/scripts/restore/check_lvm
Add new usb rescue key code
[bacula/rescue] / rescue / linux / usb / src / scripts / restore / check_lvm
1 #!/bin/sh
2
3 if [ -f disklistmp ];then
4 rm disklistmp
5 fi
6 if [ -f added_diskstmp ];then
7 rm added_diskstmp
8 fi
9 touch added_diskstmp
10
11 if [ -f working/scripts/create-vg ];then
12
13                 cat disklist|while read line;do
14                         if [ ! $line = "" ];then
15                         echo $line >>disklistmp
16                         fi
17                 done
18
19
20 if [ -f raidisks ];then
21                 cat raidisks|while read line;do
22                         if [ ! $line = "" ];then
23                         echo $line >>disklistmp
24                         fi
25                 done
26 fi
27
28 cat disklistmp|while read line;do
29 if [ ! $line = "" ];then
30 grep $line working/scripts/create-vg>>/dev/null 2>&1
31
32         if [ $? = 0 ];then
33
34                         b=`grep $line working/scripts/create-vg`
35                         field=`echo $b|wc -w`
36                         while [ $field -ne 0 ];do
37                         a=`echo $b|awk "{ print \$ $field }"`
38                         echo $a|grep /dev >/dev/null 2>&1
39                                 if [ $? = 0 ];then
40                                 grep $a disklist>>/dev/null 2>&1
41                                         if [ ! $? = 0 ];then
42                                         echo $a >>added_disks
43                                         
44                                         fi
45                                 fi
46                         field=$(( field - 1 ))
47                         done
48         fi
49 fi
50 done
51
52                    cat added_disks|while read line;do
53                         if [ ! $line = "" ];then
54                         echo $line|grep md>/dev/null 2>&1
55                                 if [ $? = 0 ];then
56                                 grep $line checkraidtemp>>/dev/null 2>&1
57                                         if [ ! $? = 0 ];then
58                                         a=`grep $line working/scripts/recreate_raid_arrays`
59                                         field=`echo $a|wc -w`
60                                                 while [ $field -ne 0 ];do
61                                                 b=`echo $a|awk "{ print \$ $field }"`
62                                                 echo $b|grep /dev |grep -v md >/dev/null 2>&1
63                                                         if [ $? = 0 ];then
64                                                         grep $b disklist>>/dev/null 2>&1
65                                                                 if [ ! $? = 0 ];then
66                                                                 echo $b >>added_diskstmp
67                                         
68                                                                 fi
69                                                         fi
70                                                 field=$(( field - 1 ))
71                                                 done
72                                         fi
73                                 else
74
75                                 cat disklist|grep $line>>/dev/null 2>&1
76                                   if [ ! $? = 0 ];then
77                                   echo $line >>disklist
78                                   fi
79                                 fi
80
81
82
83                         fi
84                 done
85
86 if [ -f disklistmp ];then
87 rm disklistmp
88 fi
89 touch disklistmp
90                 cat disklist|while read line;do
91                         if [ ! $line = "" ];then
92                                 grep $line disklistmp>>/dev/null 2>&1
93                                 if [ ! $? = 0 ];then
94                                 echo $line >>disklistmp
95                                 fi
96                         fi
97                 done
98
99                 cat added_diskstmp|while read line;do
100                         if [ ! $line = "" ];then
101                                 grep $line disklistmp>>/dev/null 2>&1
102                                 if [ ! $? = 0 ];then
103                                 echo $line >>disklistmp
104                                 fi
105                         fi
106                 done
107
108 mv disklistmp disklist
109 echo "">added_disks
110 fi
111 if [ -f disklistmp ];then
112 rm disklistmp
113 fi
114 if [ -f added_diskstmp ];then
115 rm added_diskstmp
116 fi
117
118
119