Statistiques
| Révision :

root / bin / del-volume @ 49

Historique | Voir | Annoter | Télécharger (1,57 ko)

1 1 kreverch
#!/bin/bash
2 39 ltaulell
# $Id$
3 1 kreverch
4 40 ltaulell
# TODO: fix typos
5 1 kreverch
GETINFO_ISCSI="/sbin/get-conf-iscsi-volume"
6 1 kreverch
DEL_ISCSI="/sbin/del-iscsi-volume"
7 49 kreverch
BINZFS="/sbin/zfs"
8 49 kreverch
BINZPOOL="/sbin/zpool"
9 1 kreverch
10 1 kreverch
function usage {
11 1 kreverch
  echo "Usage :" 1>&2
12 1 kreverch
  echo "$0 [OPTIONS]" 1>&2
13 1 kreverch
  echo " -h display this message" 1>&2
14 1 kreverch
  echo " -i interactive mode" 1>&2
15 1 kreverch
  echo " -n ZFS Volume Name" 1>&2
16 1 kreverch
17 1 kreverch
}
18 1 kreverch
19 1 kreverch
function nointeractive {
20 1 kreverch
21 1 kreverch
TID=$($GETINFO_ISCSI $NAME_VOL|grep "^tid "|cut -d " " -f2)
22 1 kreverch
23 1 kreverch
if [ "$TID" == "" ]
24 1 kreverch
then
25 49 kreverch
   $BINZFS destroy -r $NAME_VOL
26 1 kreverch
27 1 kreverch
else
28 1 kreverch
   $DEL_ISCSI -T $TID
29 1 kreverch
   if [ $? -eq 0 ]
30 1 kreverch
   then
31 49 kreverch
     $BINZFS destroy -r $NAME_VOL
32 1 kreverch
   else
33 1 kreverch
      exit 1;
34 1 kreverch
   fi
35 1 kreverch
fi
36 1 kreverch
}
37 1 kreverch
38 1 kreverch
39 1 kreverch
function interactive {
40 1 kreverch
41 49 kreverch
$BINZFS list
42 1 kreverch
echo "*** Enter the ZFS Volume Name : ***"
43 1 kreverch
while read inputline
44 1 kreverch
do
45 1 kreverch
   NAME_VOL=$inputline
46 1 kreverch
   echo "*** Do you want really remove the ZFS Volume : $inputline ? (y/n) ***"
47 1 kreverch
   while read inputConfirm
48 1 kreverch
   do
49 1 kreverch
      if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
50 1 kreverch
      then
51 1 kreverch
         break
52 1 kreverch
      fi
53 1 kreverch
      echo "*** Do you want really remove the ZFS Volume : $inputline ? (y/n) ***"
54 1 kreverch
   done
55 1 kreverch
56 1 kreverch
57 1 kreverch
   if [ "$inputConfirm" = "y" ]
58 1 kreverch
   then
59 1 kreverch
      break
60 1 kreverch
   fi
61 1 kreverch
   if [ "$inputConfirm" != "y" ]
62 1 kreverch
   then
63 1 kreverch
      echo "*** Enter the ZFS Volume Name : ***"
64 1 kreverch
   fi
65 1 kreverch
done
66 1 kreverch
nointeractive
67 1 kreverch
}
68 1 kreverch
69 1 kreverch
while getopts "in:h" OPTION
70 1 kreverch
do
71 1 kreverch
     case $OPTION in
72 1 kreverch
         h)
73 1 kreverch
             usage
74 1 kreverch
             exit 1
75 1 kreverch
             ;;
76 1 kreverch
         i)
77 1 kreverch
             interactive
78 1 kreverch
             ;;
79 1 kreverch
         n)
80 1 kreverch
             NAME_VOL=$OPTARG
81 1 kreverch
             ;;
82 1 kreverch
         *)
83 1 kreverch
             usage
84 1 kreverch
             exit 1
85 1 kreverch
             ;;
86 1 kreverch
     esac
87 1 kreverch
done
88 1 kreverch
89 1 kreverch
if [[ -z $NAME_VOL ]]
90 1 kreverch
then
91 1 kreverch
     usage
92 1 kreverch
     exit 1
93 1 kreverch
fi
94 1 kreverch
nointeractive
95 1 kreverch
96 1 kreverch
97 1 kreverch