Statistiques
| Révision :

root / bin / disable-replica @ 39

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

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