Statistiques
| Révision :

root / bin / disable-replica @ 40

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