Révision 18

bin/get-conf-replica (revision 18)
1
#!/bin/bash
2

  
3
function usage {
4
echo "Syntax : $0 zfs_filesystem/volume_name" 1>&2
5
echo "Return the parameters replication for a zfs filesystem/volume" 1>&2
6
}
7

  
8
DIR_CRON="/etc/cron.d/"
9
DIR_CONF_REPLICA="/opt/gZFS/replicas/"
10
NAMEZFS=$1
11
FILE_NAME=$(echo "replica-"${NAMEZFS/\//-})
12

  
13
if [ "$1" != "" ]
14
then
15
   if [ -e $DIR_CRON$FILE_NAME ]
16
   then
17
      echo "minutesofreplicas=$(cat $DIR_CRON$FILE_NAME |awk '{split($0,array," ")} END {print array[1]}')"
18
      echo "hoursofreplicas=$(cat $DIR_CRON$FILE_NAME |awk '{split($0,array," ")} END {print array[2]}')"
19
      echo "monthreplicas=$(cat $DIR_CRON$FILE_NAME |awk '{split($0,array," ")} END {print array[3]}')"
20
      echo "dayofmonthreplicas=$(cat $DIR_CRON$FILE_NAME |awk '{split($0,array," ")} END {print array[4]}')"
21
      echo "dayofweekreplicas=$(cat $DIR_CRON$FILE_NAME |awk '{split($0,array," ")} END {print array[5]}')"
22
   fi
23
   if [ -e "$DIR_CONF_REPLICA$FILE_NAME.conf" ]
24
   then
25
      echo "fileconf=$DIR_CONF_REPLICA$FILE_NAME.conf"
26
      /bin/cat $DIR_CONF_REPLICA$FILE_NAME.conf
27
   fi 
28
   
29

  
30
else
31
usage
32
exit 1
33
fi
0 34

  
bin/disable-replica (revision 18)
1
#!/bin/bash
2

  
3
DIR_CRON="/etc/cron.d/"
4
DIR_CONF_REPLICA="/opt/gZFS/replicas/"
5
BIN_ZFS_REPLICA="/sbin/zfs-replica"
6

  
7

  
8

  
9

  
10

  
11

  
12
function usage {
13
  echo "Usage :" 1>&2
14
  echo "disable-replica [OPTIONS]" 1>&2
15
  echo " -h display this message" 1>&2
16
  echo " -i interactive mode" 1>&2
17
  echo " -N Specify the name ZFS Volume/Filesystem" 1>&2
18

  
19
}
20

  
21
function nointeractive {
22
FILE_NAME=$(echo "replica-"${NAMEZFS/\//-})
23
   /bin/rm -f $DIR_CONF_REPLICA$FILE_NAME.conf
24
   if [ -e $DIR_CONF_REPLICA$FILE_NAME.conf ]
25
   then
26
      echo "Error : cannot delete $DIR_CONF_REPLICA$FILE_NAME.conf"    
27
   fi
28

  
29
   /bin/rm $DIR_CRON$FILE_NAME
30
   if [ -e $DIR_CRON$FILE_NAME ]
31
   then
32
      echo "Error : cannot delete $DIR_CRON$FILE_NAME"
33
   fi
34

  
35
}
36

  
37
function interactive {
38

  
39
/sbin/zfs list
40
echo "*** Nom du volume pour desactiver la replication :"
41
while read inputline
42
do
43
   if [ "$inputline" != "" ]
44
   then  
45
       /sbin/zfs list $inputline
46
      if [ $? -eq 0 ]
47
      then
48
         FILE_NAME=$(echo "replica-"${inputline/\//-})
49
         if [ -e $DIR_CONF_REPLICA$FILE_NAME.conf ]
50
         then
51
            /bin/rm -f $DIR_CONF_REPLICA$FILE_NAME.conf
52
            if [ $? -eq 0 ]
53
            then
54
               echo "*** Suppression du fichier conf $DIR_CONF_REPLICA$FILE_NAME.conf [OK]"
55
            else
56
               echo "/!\\ Suppression du fichier $DIR_CONF_REPLICA$FILE_NAME.conf [ERROR] /!\\"
57
               exit
58
            fi
59
         else
60
            echo "*** Le fichier de conf $DIR_CONF_REPLICA$FILE_NAME.conf n'existe pas"
61
         fi
62

  
63
         if [ -e $DIR_CRON$FILE_NAME ]
64
         then
65
            /bin/rm $DIR_CRON$FILE_NAME
66
            if [ $? -eq 0 ]
67
            then
68
               echo "*** Suppression du fichier de cron $DIR_CRON$FILE_NAME [OK]"
69
               break
70
            else
71
               echo "/!\\ Suppression du fichier de cron $DIR_CRON$FILE_NAME /!\\"
72
               exit
73
            fi
74
         else
75
            echo "*** Le fichier cron $DIR_CRON$FILE_NAME n'existe pas"
76
            break
77
         fi
78
      fi
79
   fi
80
   echo "*** Nom du volume pour desactiver la replication :"
81
done
82
exit 0
83
}
84

  
85
while getopts "iN:h" OPTION
86
do
87
     case $OPTION in
88
         h)
89
             usage
90
             exit 1
91
             ;;
92
         i)
93
             interactive
94
             ;;
95
         N)
96
             NAMEZFS=$OPTARG
97
             ;;
98
         *)
99
             usage
100
             exit 1
101
             ;;
102
     esac
103
done
104
if [[ -z $NAMEZFS ]]
105
then
106
     usage
107
     exit 1
108
fi
109
nointeractive
0 110

  

Formats disponibles : Unified diff