68 lines
1.6 KiB
Bash
68 lines
1.6 KiB
Bash
#!/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
|