Statistiques
| Révision :

root / bin / create-filesystem @ 2

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

1
#!/bin/bash
2

    
3
function usage {
4
echo "Syntax :" 1>&2 
5
echo "$0 [options]" 1>&2
6
echo " -n : filesystem name" 1>&2
7
echo " -p : pool name" 1>&2
8
echo " -o : options zfs filesystem. Read the man zfs for more details" 1>&2
9

    
10
}
11

    
12
function nointeractive {
13

    
14
/sbin/zfs create -o $FS_OPTION $NAME_POOL/$NAME
15

    
16
}
17

    
18

    
19
function interactive {
20
zfs list
21
echo "*** Choix du pool pour la creation du filesystem : ***"
22

    
23
while read inputline
24
do
25
   if [ "$inputline" != "" ]
26
   then
27
      zfs list |grep -i $inputline
28
      if [ $? -eq 1 ]
29
      then
30
         echo "*** Choix du pool pour la creation du filesystem : ***"
31
      else
32

    
33
         echo "*** Etes-vous sur du choix du pool : $inputline ? (y/n) ***"
34
         while read inputConfirm
35
         do
36
            if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
37
            then
38
              break
39
            fi
40
            echo "*** Etes-vous sur du nom : $inputline ? (y/n) ***"
41
         done
42

    
43
          if [ "$inputConfirm" = "y" ]
44
          then
45
             NAME_POOL=$inputline
46
             echo "Saisir le nom du filesystem : "
47
             while read inputFS
48
             do
49
                if [ "$inputFS" != "" ]
50
                then
51
                   zfs list |grep -i "$inputFS "
52
                   if [ $? -eq 0 ]
53
                   then
54
                         echo "Le nom du filesystem existe deja"
55
                         FS_OK=1   
56
                   else
57
                      FS_OK=0 
58
                   fi
59
                   if [ $FS_OK -eq 1 ]
60
                   then
61
                      echo "Saisir le nom du filesystem : "
62
                   else
63
                      NAME_FS=$inputFS
64
                           zfs create $NAME_POOL/$inputFS
65
                           if [ $? -eq 0 ]
66
                           then
67
                              echo "*** Creation du filesystem ZFS [OK] ***" 
68
                              zfs list
69
                              break
70
                           else
71
                              echo "/!\\ Creation du filesystem ZFS [ERROR] /!\\"
72
                           fi
73
                    fi
74
                else
75
                  echo "Saisir le nom du filesystem : "
76
                fi
77
             done
78
             break
79
          fi
80
          break
81
      fi
82
   else
83
      echo "*** Choix du pool pour la creation du filesystem : ***"
84
   fi
85
done
86
}
87

    
88
while getopts "in:p:b:s:o:h" OPTION
89
do
90
     case $OPTION in
91
         h)
92
             usage
93
             exit 1
94
             ;;
95
         i)
96
            interactive
97
            exit 0
98
            ;;
99
         n)
100
           NAME=$OPTARG
101
           ;;
102
         p)
103
           NAME_POOL=$OPTARG
104
           ;;
105
         o)
106
           FS_OPTION=$OPTARG
107
           FS_OPTION=$(echo $FS_OPTION|sed -e 's/,/ -o /g')
108
           echo "$FS_OPTION"
109
           ;;
110
    esac
111
done
112
if [[ -z $NAME_POOL ]] || [[ -z $NAME ]] 
113
then
114
     usage
115
     exit 1
116
fi
117

    
118
nointeractive