m-shell-scripts/scripts_shell/install_redis.sh

68 lines
1.6 KiB
Bash
Raw Normal View History

2025-03-19 17:38:46 +08:00
#!/bin/bash
function read_variable(){
readonly install_path=/usr/local/
readonly install_tgz="redis-4.0.8.tar.gz"
readonly install_name=`echo $install_tgz | sed 's/.tar.gz//g'`
build_variable
}
function build_variable(){
release_url="https://download.redis.io/releases/"
install_repo="https://download.redis.io/releases/${install_tgz}"
workdir=`pwd`
}
function help1(){
echo -e "\033[01m"
echo
echo "$0 install"
echo "$0 list"
echo
echo -e "\033[0m"
}
function list_redis(){
curl $release_url 2>/dev/null | awk -F">" '{print $2}' | grep redis | awk -F"<" '{print $1}'
}
function install_redis(){
[ -f ${install_path}/${install_name} ] && echo "Path Exist! Exit" && exit
which wget 1> /dev/null
[ $? -ne 0 ] && yum install wget -y
[ -f $install_tgz ] || wget $install_repo
[ ! -f $install_tgz ] && echo "Download Error! Exit" && exit
tar xf $install_tgz
cd $install_name
[ $? -ne 0 ] && echo "Lost Directory! Exit" && exit
yum install make gcc-c++ -y
make MALLOC=GCC
make install
cd - &> /dev/null
mv $install_name $install_path
cd $install_path/$install_name
ln -sf `pwd`/src/redis-server /usr/local/sbin/
ln -sf `pwd`/src/redis-cli /usr/local/sbin/
# rewrite conf
cp redis.conf redis_bak.conf
cat redis_bak.conf | grep -vw "^#" | grep -vw ^$ > redis.conf
echo -e "\033[32m\033[01mInstall [Redis] Success!\033[0m"
}
case $1 in
"install")
read_variable
install_redis
;;
"list")
read_variable
list_redis
;;
*)
help1
;;
esac