st0627 发表于 2018-11-2 13:10:12

脚本一键安装redis实现主从复制


[*]安装脚本及配置文件上传至家目录即可,sh执行脚本即可选择主从  #!/bin/bash
  #Description:atuo install redis
  #Date:2018.4.11

  Download_redis=http://download.redis.io/releases/redis-3.2.1.tar.gz
  dir1=/opt
  redis=redis-3.2.1
  redis_conf1=/usr/local/redis-6379/redis.conf
  redis_conf2=/usr/local/redis-6380/redis.conf
  FILE1=$HOME/6379.conf
  FILE2=$HOME/6380.conf
  dir2=/server/scripts/redis
  count=ps -ef|grep redis|grep -v grep| wc -l
  install_yum () {
  echo -e "\033[41;37m\033[0m"
  sleep 2
  yum install -y gcc wget
  }
  install_dir () {
  cd $dir1
  wget -q $Download_redis
  echo -e "\033[41;37m\033[0m"
  tar xf redis-3.2.1.tar.gz -C /usr/local
  cd /usr/local/$redis
  make
  make PREFIX=${redis_setup_dir} install
  if [ echo $? -eq 0 ];then
  echo -e "\e[1;32m redis安装成功. \e[0m"
  elif [ echo $? -ne 0 ];then
  echo -e "\e[1;31m redis安装失败,请检查环境. \e[0m"
  exit
  fi
  sleep 1
  }
  select_or () {
  echo "---------------------------------------------------------------
  select Master Slave
  1 Master
  2 Slave
  ----------------------------------------------------------------"
  

read input  

  
case "$input" in
  1)
  mv /usr/local/$redis /usr/local/redis-6379
  sleep 1
  cd /usr/local/redis-6379
  cp -f redis.conf redis.conf.bak
  cat "$HOME/6379.conf" >$redis_conf1
  /usr/local/redis-6379/src/redis-server /usr/local/redis-6379/redis.conf &
  sleep 3
  ;;
  2)
  mv /usr/local/$redis /usr/local/redis-6380
  sleep 1
  cd /usr/local/redis-6380
  cp -f redis.conf redis.conf.bak
  cat "$HOME/6380.conf" >$redis_conf2
  /usr/local/redis-6380/src/redis-server /usr/local/redi
  

  s-6380/redis.conf &
  sleep 3
  ;;
  *)
  echo "---------------------------------------------------------------
  select Master Slave
  1 Master
  2 Slave
  ----------------------------------------------------------------"
  esac
  }
  count_conf () {
  if [ $count -gt 1 ];then
  echo -e "\e[1;32m redis is running \e[0m"
  elif [ $count -le 1 ];then
  echo -e "\e[1;31m redis is not running \e[0m"
  fi
  }
  install_yum
  install_dir
  select_or
  count_conf
  2.主配置文件
  daemonize yes
  pidfile /usr/local/redis-6379/run/redis.pid
  bind 0.0.0.0
  port 6379
  timeout 300
  tcp-keepalive 0
  loglevel notice
  #logfile stdout
  databases 16
  unixsocketperm 0
  maxmemory 2000000000
  maxmemory-policy volatile-lru
  maxmemory-samples 3
  maxclients 10000
  #save 900 1
  #save 300 10
  #save 60 10000
  stop-writes-on-bgsave-error yes
  rdbcompression yes
  rdbchecksum yes
  dbfilename dump.rdb
  slave-serve-stale-data yes
  slave-read-only yes
  repl-ping-slave-period 10
  repl-timeout 60
  repl-disable-tcp-nodelay no
  slave-priority 100
  appendonly no
  appendfsync everysec
  no-appendfsync-on-rewrite no
  auto-aof-rewrite-percentage 100
  auto-aof-rewrite-min-size 64mb
  lua-time-limit 5000
  slowlog-log-slower-than 10000
  slowlog-max-len 1024
  hash-max-ziplist-entries 512
  hash-max-ziplist-value 64
  list-max-ziplist-entries 512
  list-max-ziplist-value 64
  set-max-intset-entries 512
  zset-max-ziplist-entries 128
  zset-max-ziplist-value 64
  activerehashing yes
  client-output-buffer-limit normal 0 0 0
  client-output-buffer-limit slave 256mb 64mb 60
  client-output-buffer-limit pubsub 32mb 8mb 60
  hz 10
  3.从配置文件
  daemonize yes
  pidfile/usr/local/redis-6380/run/redis.pid
  port 6380
  timeout 300
  tcp-keepalive 0
  loglevel notice
  #logfile stdout
  databases 16
  unixsocketperm 0
  maxmemory 2000000000
  maxmemory-policy volatile-lru
  maxmemory-samples 3
  maxclients 10000
  #save 900 1
  #save 300 10
  #save 60 10000
  stop-writes-on-bgsave-error yes
  rdbcompression yes
  rdbchecksum yes
  dbfilename dump.rdb
  slaveof 192.168.1.42 6379(根据你实际的本地环境配置为主的ip 及端口)
  slave-serve-stale-data yes
  slave-read-only yes
  repl-ping-slave-period 10
  repl-timeout 60
  repl-disable-tcp-nodelay no
  slave-priority 100
  appendonly yes
  appendfsync everysec
  no-appendfsync-on-rewrite no
  auto-aof-rewrite-percentage 100
  auto-aof-rewrite-min-size 64mb
  lua-time-limit 5000
  slowlog-log-slower-than 10000
  slowlog-max-len 1024
  hash-max-ziplist-entries 512
  hash-max-ziplist-value 64
  list-max-ziplist-entries 512
  list-max-ziplist-value 64
  set-max-intset-entries 512
  zset-max-ziplist-entries 128
  zset-max-ziplist-value 64
  activerehashing yes
  client-output-buffer-limit normal 0 0 0
  client-output-buffer-limit slave 256mb 64mb 60
  client-output-buffer-limit pubsub 32mb 8mb 60
  hz 10


页: [1]
查看完整版本: 脚本一键安装redis实现主从复制