install.sh 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #!/bin/bash -e
  2. #tar xvzf redis-7.0.7.tar.gz
  3. #sudo docker build -t hfy_redis:v7.0.7 .
  4. # 获取脚本运行所在路径
  5. SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
  6. # 编译安装redis
  7. function installRedis(){
  8. echo "欢迎本 redis 安装程序"
  9. _useConfig=$1
  10. _installMode=$2
  11. w1=1
  12. cd $SCRIPT_DIR
  13. while [[ $w1 == 1 ]]
  14. do
  15. clear
  16. _Host="0.0.0.0"
  17. _Port=6543
  18. _User="hfyredis"
  19. _Passwd="hfyredis28181"
  20. _dbName="gb_db"
  21. if [ "$_useConfig" == "1" ]; then
  22. echo "使用配置文件进行安装"
  23. redisHost=$redis_host
  24. redisPort=$redis_port
  25. redisPasswd=$redis_passwd
  26. redisDB=$redis_db
  27. w1=2
  28. else
  29. echo "开始安装redis,请按照提示输入信息"
  30. if [ $_installMode == 2 ];then
  31. read -p "请输入连接地址($_Host): " redisHost
  32. fi
  33. redisHost=${redisHost:-$_Host}
  34. read -p "请输入redis外部端口($_Port): " redisPort
  35. redisPort=${redisPort:-$_Port}
  36. # read -p "请输入账户名($_User): " redisUser
  37. # redisUser=${redisUser:-$_User}
  38. read -p "请输入密码($_Passwd): " redisPasswd
  39. redisPasswd=${redisPasswd:-$_Passwd}
  40. read -p "请输入数据库($_dbName): " $redisDB
  41. redisDB=${redisDB:-$_dbName}
  42. # 修改参数
  43. w2=1
  44. while [[ $w2 == 1 ]]
  45. do
  46. echo "
  47. 国标平台Redis数据库信息
  48. 地址:$redisHost
  49. 端口:$redisPort
  50. 密码:$redisPasswd
  51. 数据库:$redisDB
  52. "
  53. echo "是否确认为此信息?y/n"
  54. read _yn
  55. if [[ $_yn == "y" ]] || [[ $_yn == "yes" ]] || [[ $_yn == "Y" ]] || [[ $_yn == "YES" ]] ; then
  56. echo "确认信息";
  57. w1=2;
  58. break;
  59. elif [[ $_yn == "n" ]] || [[ $_yn == "n" ]] || [[ $_yn == "N" ]] || [[ $_yn == "NO" ]] ; then
  60. echo "重新输入"
  61. w2=2;
  62. else
  63. echo "---------------------"
  64. fi
  65. done
  66. fi
  67. done
  68. echo "数据库信息确认完成"
  69. if [ $_installMode == 2 ];then
  70. echo "导出密码"
  71. return 0
  72. fi
  73. # 修改配置文件
  74. sed -i \
  75. -e "s/^port .*$/port $redisPort/g" \
  76. -e "s/^requirepass .*$/requirepass $redisPasswd/g" \
  77. $SCRIPT_DIR"/redis.conf";
  78. docker build -t hfyredis:latest .
  79. docker stop hfy_redis
  80. docker rm hfy_redis
  81. docker run -it -p "$redisPort":"$redisPort" -v /data/redis:/data/redis -v /data/redis/logs:/data/redis/logs --name hfy_redis -itd hfyredis:latest
  82. }
  83. clear
  84. echo -e "\033[33m
  85. ----------------------------------------------
  86. --------合方圆国标平台 Redis数据库安装程序---------
  87. ----------------------------------------------
  88. \033[0m";
  89. echo -e "\033[35m 是否通过本安装程序来安装Redis? \033[0m";
  90. PS3="请输入数字来选择安装方式:";
  91. selectOption_1="自动安装并配置 Redis";
  92. selectOption_2="已有 Redis 数据库,手动输入 Redis 相关信息";
  93. select=("$selectOption_1" "$selectOption_2")
  94. installMode=$1
  95. installMode=${installMode:-2}
  96. select fav in "${select[@]}";do
  97. case $fav in
  98. "$selectOption_1")
  99. echo "已选择 $fav"
  100. installRedis "$installMode" 1
  101. break;
  102. ;;
  103. "$selectOption_2")
  104. echo "已选择 $fav "
  105. installRedis "$installMode" 2
  106. break;
  107. ;;
  108. *)
  109. echo -e "\033[37m 请输入数字 1 或者 2 来选择 redis 的安装方式 \033[0m"
  110. ;;
  111. esac
  112. done
  113. echo "安装完成"
  114. cd ../