Statistiques
| Révision :

root / bin / create-filesystem @ 26

Historique | Voir | Annoter | Télécharger (2,84 ko)

1 1 kreverch
#!/bin/bash
2 1 kreverch
3 1 kreverch
function usage {
4 1 kreverch
echo "Syntax :" 1>&2
5 1 kreverch
echo "$0 [options]" 1>&2
6 1 kreverch
echo " -n : filesystem name" 1>&2
7 1 kreverch
echo " -p : pool name" 1>&2
8 1 kreverch
echo " -o : options zfs filesystem. Read the man zfs for more details" 1>&2
9 1 kreverch
10 1 kreverch
}
11 1 kreverch
12 1 kreverch
function nointeractive {
13 1 kreverch
14 1 kreverch
/sbin/zfs create -o $FS_OPTION $NAME_POOL/$NAME
15 1 kreverch
16 1 kreverch
}
17 1 kreverch
18 1 kreverch
19 1 kreverch
function interactive {
20 1 kreverch
zfs list
21 1 kreverch
echo "*** Choix du pool pour la creation du filesystem : ***"
22 1 kreverch
23 1 kreverch
while read inputline
24 1 kreverch
do
25 1 kreverch
   if [ "$inputline" != "" ]
26 1 kreverch
   then
27 1 kreverch
      zfs list |grep -i $inputline
28 1 kreverch
      if [ $? -eq 1 ]
29 1 kreverch
      then
30 1 kreverch
         echo "*** Choix du pool pour la creation du filesystem : ***"
31 1 kreverch
      else
32 1 kreverch
33 1 kreverch
         echo "*** Etes-vous sur du choix du pool : $inputline ? (y/n) ***"
34 1 kreverch
         while read inputConfirm
35 1 kreverch
         do
36 1 kreverch
            if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
37 1 kreverch
            then
38 1 kreverch
              break
39 1 kreverch
            fi
40 1 kreverch
            echo "*** Etes-vous sur du nom : $inputline ? (y/n) ***"
41 1 kreverch
         done
42 1 kreverch
43 1 kreverch
          if [ "$inputConfirm" = "y" ]
44 1 kreverch
          then
45 1 kreverch
             NAME_POOL=$inputline
46 1 kreverch
             echo "Saisir le nom du filesystem : "
47 1 kreverch
             while read inputFS
48 1 kreverch
             do
49 1 kreverch
                if [ "$inputFS" != "" ]
50 1 kreverch
                then
51 1 kreverch
                   zfs list |grep -i "$inputFS "
52 1 kreverch
                   if [ $? -eq 0 ]
53 1 kreverch
                   then
54 1 kreverch
                         echo "Le nom du filesystem existe deja"
55 1 kreverch
                         FS_OK=1
56 1 kreverch
                   else
57 1 kreverch
                      FS_OK=0
58 1 kreverch
                   fi
59 1 kreverch
                   if [ $FS_OK -eq 1 ]
60 1 kreverch
                   then
61 1 kreverch
                      echo "Saisir le nom du filesystem : "
62 1 kreverch
                   else
63 1 kreverch
                      NAME_FS=$inputFS
64 1 kreverch
                           zfs create $NAME_POOL/$inputFS
65 1 kreverch
                           if [ $? -eq 0 ]
66 1 kreverch
                           then
67 1 kreverch
                              echo "*** Creation du filesystem ZFS [OK] ***"
68 1 kreverch
                              zfs list
69 1 kreverch
                              break
70 1 kreverch
                           else
71 1 kreverch
                              echo "/!\\ Creation du filesystem ZFS [ERROR] /!\\"
72 1 kreverch
                           fi
73 1 kreverch
                    fi
74 1 kreverch
                else
75 1 kreverch
                  echo "Saisir le nom du filesystem : "
76 1 kreverch
                fi
77 1 kreverch
             done
78 1 kreverch
             break
79 1 kreverch
          fi
80 1 kreverch
          break
81 1 kreverch
      fi
82 1 kreverch
   else
83 1 kreverch
      echo "*** Choix du pool pour la creation du filesystem : ***"
84 1 kreverch
   fi
85 1 kreverch
done
86 1 kreverch
}
87 1 kreverch
88 1 kreverch
while getopts "in:p:b:s:o:h" OPTION
89 1 kreverch
do
90 1 kreverch
     case $OPTION in
91 1 kreverch
         h)
92 1 kreverch
             usage
93 1 kreverch
             exit 1
94 1 kreverch
             ;;
95 1 kreverch
         i)
96 1 kreverch
            interactive
97 1 kreverch
            exit 0
98 1 kreverch
            ;;
99 1 kreverch
         n)
100 1 kreverch
           NAME=$OPTARG
101 1 kreverch
           ;;
102 1 kreverch
         p)
103 1 kreverch
           NAME_POOL=$OPTARG
104 1 kreverch
           ;;
105 1 kreverch
         o)
106 1 kreverch
           FS_OPTION=$OPTARG
107 1 kreverch
           FS_OPTION=$(echo $FS_OPTION|sed -e 's/,/ -o /g')
108 1 kreverch
           echo "$FS_OPTION"
109 1 kreverch
           ;;
110 1 kreverch
    esac
111 1 kreverch
done
112 1 kreverch
if [[ -z $NAME_POOL ]] || [[ -z $NAME ]]
113 1 kreverch
then
114 1 kreverch
     usage
115 1 kreverch
     exit 1
116 1 kreverch
fi
117 1 kreverch
118 1 kreverch
nointeractive