Statistiques
| Révision :

root / bin / zfs-clone @ 49

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

1
#!/bin/bash
2
# $Id: zfs-clone 49 2013-10-10 08:59:11Z kreverch $
3
BINZFS="/sbin/zfs"
4
BINZPOOL="/sbin/zpool"
5

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

    
11
}
12

    
13

    
14
function nointeractive {
15

    
16
TODAY=$(date +%Y%m%d%H%M%S)
17

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

    
27
function interactive {
28

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

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

    
57
}
58

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