Statistiques
| Révision :

root / bin / zfs-clone @ 2

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

1
#!/bin/bash
2

    
3
function usage {
4
echo "Syntax :"
5
echo "$0 -n snapshot name to clone"
6
echo "$0 -i for a interactive use"
7

    
8
}
9

    
10

    
11
function nointeractive {
12

    
13
TODAY=$(date +%Y%m%d%H%M%S)
14

    
15
clone_name=$(echo "$volfs2clone" |sed -e "s/@.*$//g")
16
/sbin/zfs clone $volfs2clone $clone_name-$TODAY-clone
17
if [ "$?" == "0" ]
18
then
19
echo "name:$clone_name-$TODAY-clone"
20
exit 0
21
fi
22
}
23

    
24
function interactive {
25

    
26
/sbin/zfs list -t snapshot
27
echo "*** Select Volume or Filesystem to Clone : ***" 
28
while read inputline
29
do
30
   NAMEVOLFS=$inputline 
31
   echo "*** Are you sur ? : $inputline ? (y/n) ***"
32
   
33
   while read inputConfirm
34
   do
35
      if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
36
      then
37
         break
38
      fi
39
      echo "*** Are you sur ? : $inputline ? (y/n) ***" 
40
   done
41

    
42
   if [ "$inputConfirm" = "y" ]
43
   then
44
     volfs2clone=$inputline
45
     nointeractive
46
   fi
47
   if [ "$inputConfirm" != "y" ]
48
   then
49
      /sbin/zfs list -t snapshot
50
      echo "*** Select Volume or Filesystem to Clone : ***" 
51
   fi
52
done
53

    
54
}
55

    
56
while getopts "in:h" OPTION
57
do
58
     case $OPTION in
59
         h)
60
             usage
61
             exit 1
62
             ;;
63
         n)
64
            volfs2clone=$OPTARG
65
            ;;
66
         i)
67
            interactive
68
            exit 0
69
            ;;
70
     esac
71
done
72
if [[ -z $volfs2clone ]]
73
then
74
     usage
75
     exit 1
76
fi
77
nointeractive
78