1、支持网卡名不一致批量安装
2、修改系统服务,支持非正常退出后自重启
This commit is contained in:
120
install.sh
120
install.sh
@@ -1,49 +1,53 @@
|
||||
#!/bin/sh
|
||||
device=lo
|
||||
|
||||
role=
|
||||
device=
|
||||
slaveof_ip=
|
||||
slaveof_port=
|
||||
MASTER=/home/mesasoft/redis_master/
|
||||
SLAVE_MASTER=/home/mesasoft/redis_global_slave_master/
|
||||
SLAVE=/home/mesasoft/redis_global_slave/
|
||||
|
||||
function get_card_by_ip()
|
||||
{
|
||||
echo `ifconfig -a | grep -B 1 $1 | head -n1 | awk -F":" '{print $1}'`
|
||||
}
|
||||
|
||||
function redis_master
|
||||
function redis_master()
|
||||
{
|
||||
cp -r redis_master /home/mesasoft/
|
||||
cp redis-master-daemon.service /usr/lib/systemd/system/
|
||||
cp redis-master.service /etc/systemd/system/
|
||||
|
||||
systemctl enable redis-master-daemon.service
|
||||
systemctl enable redis-master.service
|
||||
systemctl daemon-reload
|
||||
|
||||
sed -i "s/bind 127.0.0.1/bind `ifconfig $device | grep netmask | awk '{print $2}'`/g" $MASTER/redis_master.conf
|
||||
sed -i "s/127.0.0.1/`ifconfig $device | grep netmask | awk '{print $2}'`/g" $MASTER/reset_redis4maat.sh
|
||||
|
||||
chmod 777 $MASTER/redis_master_daemon
|
||||
systemctl start redis-master-daemon
|
||||
systemctl start redis-master
|
||||
sleep 5
|
||||
sed -i 's/
|
||||
//g' $MASTER/reset_redis4maat.sh
|
||||
chmod 777 $MASTER/reset_redis4maat.sh
|
||||
cd $MASTER/; ./reset_redis4maat.sh; cd -
|
||||
}
|
||||
|
||||
function redis_slave_master
|
||||
function redis_slave_master()
|
||||
{
|
||||
cp -r redis_global_slave_master /home/mesasoft/
|
||||
|
||||
cp redis-global-slave-master-daemon.service /usr/lib/systemd/system/
|
||||
cp redis-global-slave-master.service /etc/systemd/system/
|
||||
|
||||
sed -i "s/bind 127.0.0.1/bind `ifconfig $device | grep netmask | awk '{print $2}'`/g" $SLAVE_MASTER/redis_global_slave_master.conf
|
||||
sed -i "s/slaveof 10.0.6.202 6379/slaveof $1 $2/g" $SLAVE_MASTER/redis_global_slave_master.conf
|
||||
|
||||
systemctl enable redis-global-slave-master-daemon.service
|
||||
systemctl enable redis-global-slave-master.service
|
||||
systemctl daemon-reload
|
||||
|
||||
chmod 777 $SLAVE_MASTER/redis_global_slave_master_daemon
|
||||
systemctl start redis-global-slave-master-daemon
|
||||
systemctl start redis-global-slave-master
|
||||
}
|
||||
|
||||
function redis_slave
|
||||
function redis_slave()
|
||||
{
|
||||
cp -r redis_global_slave /home/mesasoft/
|
||||
for((i=6380; i<=6389;i++))
|
||||
@@ -51,30 +55,83 @@ function redis_slave
|
||||
mkdir $SLAVE$i/ -p
|
||||
cp $SLAVE/redis_global_slave.conf $SLAVE$i/redis$i.conf
|
||||
sed -i "s/bind 127.0.0.1/bind `ifconfig $device | grep netmask | awk '{print $2}'`/g" $SLAVE$i/redis$i.conf
|
||||
sed -i "s/slaveof 127.0.0.1 6379/slaveof $1 $2/g" $SLAVE$i/redis$i.conf
|
||||
if [[ -z $1 ]]; then
|
||||
sed -i "s/slaveof 127.0.0.1 6379/slaveof `ifconfig $device | grep netmask | awk '{print $2}'` 6379/g" $SLAVE$i/redis$i.conf
|
||||
else
|
||||
sed -i "s/slaveof 127.0.0.1 6379/slaveof $1 $2/g" $SLAVE$i/redis$i.conf
|
||||
fi
|
||||
sed -i "s/port 6379/port $i/g" $SLAVE$i/redis$i.conf
|
||||
sed -i "s/redis_6379.pid/`echo "redis_$i.pid"`/g" $SLAVE$i/redis$i.conf
|
||||
done
|
||||
|
||||
sed -i 's/
|
||||
//g' $SLAVE/r2
|
||||
sed -i 's/
|
||||
//g' $SLAVE/redis_global_slave_daemon
|
||||
|
||||
chmod 777 $SLAVE/r2
|
||||
chmod 777 $SLAVE/redis_global_slave_daemon
|
||||
cd $SLAVE; ./r2; cd -
|
||||
}
|
||||
|
||||
function redis_help
|
||||
|
||||
function redis_help()
|
||||
{
|
||||
echo "mode: master/slave_master/slave"
|
||||
echo "master ./install.sh eno1 master"
|
||||
echo "slave_master ./install.sh eno1 slave_master redis_ip redis_port"
|
||||
echo "slave ./install.sh eno1 slave redis_ip redis_port"
|
||||
echo "-r|--role):"
|
||||
echo " master/slave_master/slave"
|
||||
echo "-d|--device:"
|
||||
echo " network card"
|
||||
echo "-i|--slaveof_ip:"
|
||||
echo " slaveof ip"
|
||||
echo "-p|--slaveof_port:"
|
||||
echo " slaveof port"
|
||||
echo "-I|--iplist:"
|
||||
echo " iplist"
|
||||
echo ""
|
||||
echo "*********************************************************************************"
|
||||
echo "* master *"
|
||||
echo "* ./install.sh -r master -d eth0 *"
|
||||
echo "* slave_master *"
|
||||
echo "* ./install.sh -r slave_master -d eth0 -i 192.168.18.128 -p 6379 *"
|
||||
echo "* ./install.sh -r slave -i 192.168.18.128 -p 6379 -I iplist *"
|
||||
echo "* slave *"
|
||||
echo "* ./install.sh -r slave -d eth0 -i 192.168.18.128 -p 6379 *"
|
||||
echo "* ./install.sh -r slave -i 192.168.18.128 -p 6379 -I iplist *"
|
||||
echo "* ./install.sh -r slave -I iplist *"
|
||||
echo "*********************************************************************************"
|
||||
}
|
||||
|
||||
if [[ $# -lt 2 ]];then
|
||||
redis_help
|
||||
exit 0
|
||||
else
|
||||
device=$1
|
||||
fi
|
||||
|
||||
while getopts ":r:d:i:p:I:" ARGS
|
||||
do
|
||||
case $ARGS in
|
||||
r|--role)
|
||||
role=$OPTARG
|
||||
;;
|
||||
d|--device)
|
||||
device=$OPTARG
|
||||
;;
|
||||
i|--redis-ip)
|
||||
slaveof_ip=$OPTARG
|
||||
;;
|
||||
p|--redis-port)
|
||||
slaveof_port=$OPTARG
|
||||
;;
|
||||
I|--iplist)
|
||||
iplist=$OPTARG
|
||||
while read ip
|
||||
do
|
||||
device=`get_card_by_ip $ip`
|
||||
if [[ ! -z "$device" ]] ; then
|
||||
break;
|
||||
fi
|
||||
done < $iplist
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ `locate redis-server | grep /usr/local/bin/redis-server | wc -l` -lt 1 ]]; then
|
||||
tar zxvf redis-3.2.9.tar.gz
|
||||
@@ -82,17 +139,19 @@ if [[ `locate redis-server | grep /usr/local/bin/redis-server | wc -l` -lt 1 ]];
|
||||
mkdir /home/mesasoft/ -p
|
||||
fi
|
||||
|
||||
SLAVEOF_IP=$3
|
||||
SLAVEOF_PORT=$4
|
||||
case $2 in
|
||||
case $role in
|
||||
master)
|
||||
redis_master $MASTER
|
||||
redis_master
|
||||
;;
|
||||
slave_master)
|
||||
redis_slave_master $SLAVEOF_IP $SLAVEOF_PORT
|
||||
redis_slave_master $slaveof_ip $slaveof_port
|
||||
;;
|
||||
slave)
|
||||
redis_slave $SLAVEOF_IP $SLAVEOF_PORT
|
||||
if [[ -z "$slaveof_ip" ]] || [[ -z "$slaveof_port" ]]; then
|
||||
redis_slave
|
||||
else
|
||||
redis_slave $slaveof_ip $slaveof_port
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
redis_help
|
||||
@@ -100,3 +159,4 @@ case $2 in
|
||||
esac
|
||||
|
||||
rm -rf redis-3.2.9
|
||||
#cat -v install.sh | tr -d '^M' > 111.sh
|
||||
|
||||
Reference in New Issue
Block a user