Statistiques
| Révision :

root / bin / disable-snapshot @ 49

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

1 1 kreverch
#!/bin/bash
2 39 ltaulell
# $Id$
3 1 kreverch
4 1 kreverch
DIR_CRON="/etc/cron.d/"
5 1 kreverch
DIR_CONF_SNAPSHOT="/opt/gZFS/snapshots/"
6 1 kreverch
BIN_ZFS_SNAPSHOT="/sbin/zfs-snapshot"
7 49 kreverch
BINZFS="/sbin/zfs"
8 49 kreverch
BINZPOOL="/sbin/zpool"
9 1 kreverch
10 1 kreverch
11 1 kreverch
function usage {
12 1 kreverch
  echo "Usage :" 1>&2
13 1 kreverch
  echo "disable-snapshot [OPTIONS]" 1>&2
14 1 kreverch
  echo " -h display this message" 1>&2
15 1 kreverch
  echo " -i interactive mode" 1>&2
16 1 kreverch
  echo " -N Specify the name ZFS Volume/Filesystem" 1>&2
17 1 kreverch
18 1 kreverch
}
19 1 kreverch
20 1 kreverch
function nointeractive {
21 20 ltaulell
FILE_NAME=$(echo "snapshot-"${NAMEZFS//\//-})
22 1 kreverch
   /bin/rm -f $DIR_CONF_SNAPSHOT$FILE_NAME.conf
23 1 kreverch
   if [ -e $DIR_CONF_SNAPSHOT$FILE_NAME.conf ]
24 1 kreverch
   then
25 1 kreverch
      echo "Error : cannot delete $DIR_CONF_SNAPSHOT$FILE_NAME.conf"
26 1 kreverch
   fi
27 1 kreverch
28 1 kreverch
   /bin/rm $DIR_CRON$FILE_NAME
29 1 kreverch
   if [ -e $DIR_CRON$FILE_NAME ]
30 1 kreverch
   then
31 1 kreverch
      echo "Error : cannot delete $DIR_CRON$FILE_NAME"
32 1 kreverch
   fi
33 1 kreverch
34 1 kreverch
}
35 1 kreverch
36 1 kreverch
function interactive {
37 1 kreverch
38 49 kreverch
$BINZFS list
39 1 kreverch
echo "*** Nom du volume pour desactiver les snapshot :"
40 1 kreverch
while read inputline
41 1 kreverch
do
42 1 kreverch
   if [ "$inputline" != "" ]
43 1 kreverch
   then
44 49 kreverch
       $BINZFS list $inputline
45 1 kreverch
      if [ $? -eq 0 ]
46 1 kreverch
      then
47 20 ltaulell
         FILE_NAME=$(echo "snapshot-"${inputline//\//-})
48 1 kreverch
         if [ -e $DIR_CONF_SNAPSHOT$FILE_NAME.conf ]
49 1 kreverch
         then
50 1 kreverch
            /bin/rm -f $DIR_CONF_SNAPSHOT$FILE_NAME.conf
51 1 kreverch
            if [ $? -eq 0 ]
52 1 kreverch
            then
53 1 kreverch
               echo "*** Suppression du fichier conf $DIR_CONF_SNAPSHOT$FILE_NAME.conf [OK]"
54 1 kreverch
            else
55 1 kreverch
               echo "/!\\ Suppression du fichier $DIR_CONF_SNAPSHOT$FILE_NAME.conf [ERROR] /!\\"
56 1 kreverch
               exit
57 1 kreverch
            fi
58 1 kreverch
         else
59 1 kreverch
            echo "*** Le fichier de conf $DIR_CONF_SNAPSHOT$FILE_NAME.conf n'existe pas"
60 1 kreverch
         fi
61 1 kreverch
62 1 kreverch
         if [ -e $DIR_CRON$FILE_NAME ]
63 1 kreverch
         then
64 1 kreverch
            /bin/rm $DIR_CRON$FILE_NAME
65 1 kreverch
            if [ $? -eq 0 ]
66 1 kreverch
            then
67 1 kreverch
               echo "*** Suppression du fichier de cron $DIR_CRON$FILE_NAME [OK]"
68 1 kreverch
               break
69 1 kreverch
            else
70 1 kreverch
               echo "/!\\ Suppression du fichier de cron $DIR_CRON$FILE_NAME /!\\"
71 1 kreverch
               exit
72 1 kreverch
            fi
73 1 kreverch
         else
74 1 kreverch
            echo "*** Le fichier cron $DIR_CRON$FILE_NAME n'existe pas"
75 1 kreverch
            break
76 1 kreverch
         fi
77 1 kreverch
      fi
78 1 kreverch
   fi
79 1 kreverch
   echo "*** Nom du volume pour desactiver les snapshot :"
80 1 kreverch
done
81 5 kreverch
exit 0
82 1 kreverch
}
83 1 kreverch
84 1 kreverch
while getopts "iN:h" OPTION
85 1 kreverch
do
86 1 kreverch
     case $OPTION in
87 1 kreverch
         h)
88 1 kreverch
             usage
89 1 kreverch
             exit 1
90 1 kreverch
             ;;
91 1 kreverch
         i)
92 1 kreverch
             interactive
93 1 kreverch
             ;;
94 1 kreverch
         N)
95 1 kreverch
             NAMEZFS=$OPTARG
96 1 kreverch
             ;;
97 1 kreverch
         *)
98 1 kreverch
             usage
99 1 kreverch
             exit 1
100 1 kreverch
             ;;
101 1 kreverch
     esac
102 1 kreverch
done
103 1 kreverch
if [[ -z $NAMEZFS ]]
104 1 kreverch
then
105 1 kreverch
     usage
106 1 kreverch
     exit 1
107 1 kreverch
fi
108 1 kreverch
nointeractive