Statistiques
| Révision :

root / bin / del-filesystem @ 6

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

1 1 kreverch
#!/bin/bash
2 1 kreverch
3 1 kreverch
function usage {
4 1 kreverch
  echo "Description : destroy a ZFS FileSystem." 1>&2
5 1 kreverch
  echo "Usage :" 1>&2
6 1 kreverch
  echo "$0 [OPTIONS]" 1>&2
7 1 kreverch
  echo " -h display this message" 1>&2
8 1 kreverch
  echo " -i interactive mode" 1>&2
9 1 kreverch
  echo " -n ZFS Volume Name" 1>&2
10 1 kreverch
11 1 kreverch
}
12 1 kreverch
13 1 kreverch
function nointeractive {
14 1 kreverch
15 1 kreverch
MOUNTED=$(zfs get -H mounted $FS_NAME|awk '{ print $3}')
16 1 kreverch
17 1 kreverch
if [ "$MOUNTED" == "no" ]
18 1 kreverch
then
19 6 kreverch
   zfs destroy $FS_NAME
20 1 kreverch
21 1 kreverch
else
22 1 kreverch
   echo "ZFS FileSystem $FS_NAME mounted" 1>&2
23 1 kreverch
   exit 1;
24 1 kreverch
fi
25 1 kreverch
}
26 1 kreverch
27 1 kreverch
28 1 kreverch
function interactive {
29 1 kreverch
30 1 kreverch
zfs list
31 1 kreverch
echo "*** Enter the ZFS FileSystem Name : ***"
32 1 kreverch
while read inputline
33 1 kreverch
do
34 1 kreverch
   NAME_VOL=$inputline
35 1 kreverch
   echo "*** Do you want really remove the ZFS FileSystem : $inputline ? (y/n) ***"
36 1 kreverch
   while read inputConfirm
37 1 kreverch
   do
38 1 kreverch
      if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
39 1 kreverch
      then
40 1 kreverch
         break
41 1 kreverch
      fi
42 1 kreverch
      echo "*** Do you want really remove the ZFS FileSystem : $inputline ? (y/n) ***"
43 1 kreverch
   done
44 1 kreverch
45 1 kreverch
46 1 kreverch
   if [ "$inputConfirm" = "y" ]
47 1 kreverch
   then
48 1 kreverch
      break
49 1 kreverch
   fi
50 1 kreverch
   if [ "$inputConfirm" != "y" ]
51 1 kreverch
   then
52 1 kreverch
      echo "*** Enter the ZFS Volume FileSystem : ***"
53 1 kreverch
   fi
54 1 kreverch
done
55 1 kreverch
nointeractive
56 1 kreverch
}
57 1 kreverch
58 1 kreverch
while getopts "in:h" OPTION
59 1 kreverch
do
60 1 kreverch
     case $OPTION in
61 1 kreverch
         h)
62 1 kreverch
             usage
63 1 kreverch
             exit 1
64 1 kreverch
             ;;
65 1 kreverch
         i)
66 1 kreverch
             interactive
67 1 kreverch
             ;;
68 1 kreverch
         n)
69 1 kreverch
             FS_NAME=$OPTARG
70 1 kreverch
             ;;
71 6 kreverch
         r)
72 6 kreverch
             ;;
73 1 kreverch
         *)
74 1 kreverch
             usage
75 1 kreverch
             exit 1
76 1 kreverch
             ;;
77 1 kreverch
     esac
78 1 kreverch
done
79 1 kreverch
80 1 kreverch
if [[ -z $FS_NAME ]]
81 1 kreverch
then
82 1 kreverch
     usage
83 1 kreverch
     exit 1
84 1 kreverch
fi
85 1 kreverch
nointeractive
86 1 kreverch