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