shell腳本一鍵在線安裝redis數據庫(使用函數實現)

shell腳本一鍵在線安裝redis數據庫(使用函數實現)

前面的文章給出了有關手工編譯安裝redis的流程,並且在模擬搭建redis集羣時給出了在線安裝redis的過程,於是就想着自己寫好在線安裝的redis腳本,本文主要使用shell函數來實現並且驗證在線安裝的過程,執行無誤後就想着分享出來。

PS:系統環境爲Centos7.4

腳本如下:

#!/bin/bash

function  checkroot(){
if [ $UID -ne  0 ]
  then
    echo "|----------------------------------------------------------------------------------------------------------------|"
    echo "|------------------------------------------[權限不足..請切換至root用戶]-------------------------------------------|"
    echo "|----------------------------------------------------------------------------------------------------------------|"
    exit;
fi
}

function judge(){
    echo
    off_file=`ls | grep redis-*.tar.gz`
    if [[ "$off_file" = "" ]]
    then
        echo "|----------------------------------------------------------------------------------------------------------------|"
        echo "|-------------------------------------------------[未發現離線包]--------------------------------------------------|"
        echo "|-------------------------------------------------[開始在線安裝]--------------------------------------------------|"
        /usr/bin/sleep 3
        network
    else
        exit;
    fi
}

function network(){
    yum install cpp binutils glibc-kernheaders glibc-common glibc-devel gcc gcc-c++ make wget  -y  #安裝依賴庫
    wget http://download.redis.io/releases/redis-5.0.7.tar.gz
    if [ -f /root/redis-5.0.7.tar.gz ];then
        tar zxvf redis-5.0.7.tar.gz
        mv redis-5.0.7 /usr/local/redis
        cd /usr/local/redis
        make
        cd src/
        make install 
    else
        echo "文件不存在!"
        exit;
    fi

    sed -i '136s/daemonize no/daemonize yes/' /usr/local/redis/redis.conf    #(編輯redis服務配置文件,修改其中配置)
    #設置開啓守護進程運行
    sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/redis.conf 
    #設置爲任意終端訪問
    sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/redis.conf
    #關閉受保護模式
    sed -i '832s/#//' /usr/local/redis/redis.conf
    #一下三行正則命令在部署集羣時使用,單一安裝時不要開啓,否則會出錯
    #開啓集羣模式
    #sed -i '840s/#//' /usr/local/redis/redis.conf
    #集羣配置文件目錄
    #sed -i '846s/#//' /usr/local/redis/redis.conf
    #節點超時時間
    #sed -i '699s/no/yes/' /usr/local/redis/redis.conf
    #開啓aof持久化
    mkdir -p /etc/redis
    ln -s /usr/local/redis/redis.conf /etc/redis/6379.conf   #(在默認的配置文件路勁中放置配置文件)
    ln -s /usr/local/redis/utils/redis_init_script /etc/init.d/redisd    #(將初始化文件配置到系統自啓動的文件夾內,redisd爲服務名,可自行修改)
    service redisd start   #(開啓redis服務,服務名爲:redisd)
    #redis-cli  
    netstat -ntpl|grep redis
    echo "Redis 部署完成!"
    echo " "
    echo "如果你的系統是Centos 7在安裝完畢後留意防火牆,可執行以下命令來放行redis 外部通信,若是沒有成功則關閉防火牆及SELinux功能。"
    echo "firewall-cmd --zone=public --add-port=6379/tcp --permanent"
    echo "firewall-cmd --reload"
    echo "firewall-cmd --zone=public --query-port=6379/tcp"

}

function main(){
    checkroot
    judge
}

main

安裝時截圖:

shell腳本一鍵在線安裝redis數據庫(使用函數實現)

安裝後進入數據庫驗證

shell腳本一鍵在線安裝redis數據庫(使用函數實現)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章