Statistiques
| Révision :

root / bin / zfs-clone @ 39

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

1
#!/bin/bash
2
# $Id: zfs-clone 39 2013-10-08 12:46:21Z ltaulell $
3

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

    
9
}
10

    
11

    
12
function nointeractive {
13

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

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

    
25
function interactive {
26

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

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

    
55
}
56

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