redis自動化安裝腳本
由於開始接觸redis的自動化運維,為了方便後續工作的進行,寫了一個redis自動化安裝腳本,可以實現安裝、配置、並可以使用service redis start/stop控制服務的啟動和停止,參考博文http://blog.csdn.net/ludonqin/article/details/47211109
此腳本已經在Centos6.3環境下測試無誤,腳本內容如下:
#redis自動安裝腳本:
#pid文件:/var/redis/run/redis.pid
#配置文件:/etc/redis/redis.conf
#日誌文件:/var/redis/log
#數據文件:/var/redis/data
#!/bin/bash
Soft_dir="/home/redis"
Download_URL="http://download.redis.io/redis-stable.tar.gz"
#3.2.9
Redis_Version="stable"
#此函數用於判斷是否為root用戶
root_or_not(){
if [ `id -u` != 0 ] ; then
echo -e "\e[1;44m <====You are not root,Please login in root!====> \e[0m"
exit 1
fi
}
#此函數用來使用戶選擇是否安裝redis
install_or_not(){
read -p "Install redis, Input Y/y ; Do not install redis,Input N/n:" INSTALL_OR_NOT
case $INSTALL_OR_NOT in
Y|y)
install_redis
;;
N|n)
echo -e "\e[0;44m <====Stop install Redis====> \e[0m"
exit 1
;;
*)
echo -e "\e[1;44m Only Input Y/y or N/n \e[0m"
install_or_not
;;
esac
}
#此函數用來檢查上一個命令的執行狀態結果返回值,若執行未成功,則退出
check_result(){
if [ $1 != 0 ];then
echo -e "\e[1,44m <==== Error,Exit install redis ====> \e[0m"
exit 1
fi
}
#此函數用於實現redis的安裝、配置、啟動停止
install_redis(){
[ ! -d ${Soft_dir} ] && mkdir ${Soft_dir}
cd ${Soft_dir}
check_result $?
yum -y install wget
check_result $?
wget $Download_URL
check_result $?
tar zxvf redis-${Redis_Version}.tar.gz
check_result $?
cd redis-${Redis_Version}
check_result $?
yum -y install gcc;yum -y install tcl
check_result $?
make
check_result $?
make install
check_result $?
mkdir /etc/redis
check_result $?
mkdir -p /var/redis/{data,log,run}
check_result $?
cp redis.conf /etc/redis/
check_result $?
echo -e "\e[1;44m ======Begin to Configure /etc/redis/redis.conf ======= \e[0m"
sed -i ‘150c pidfile /var/redis/run/redis.pid‘ /etc/redis/redis.conf
check_result $?
sed -i ‘247c dir /var/redis/data‘ /etc/redis/redis.conf
check_result $?
sed -i ‘163c logfile /var/redis/log/redis.log‘ /etc/redis/redis.conf
check_result $?
sed -i ‘128c daemonize yes‘ /etc/redis/redis.conf
check_result $?
sed -i ‘61c bind 0.0.0.0‘ /etc/redis/redis.conf
check_result $?
echo -e "\e[1;44m ======Begin To Let Service Start While The Machine Online ======= \e[0m"
cp /home/redis/redis-stable/utils/redis_init_script /etc/init.d/redis
check_result $?
sed -i ‘10c PIDFILE=/var/redis/run/redis.pid‘ /etc/init.d/redis
check_result $?
sed -i ‘11c CONF="/etc/redis/redis.conf"‘ /etc/init.d/redis
check_result $?
chmod +x /etc/init.d/redis
check_result $?
service redis start
check_result $?
echo -e "\e[1;44m ====== Success!!!!!! ======= \e[0m"
}
root_or_not
install_or_not
歡迎批評指正!
本文出自 “10917734” 博客,請務必保留此出處http://10927734.blog.51cto.com/10917734/1945308
redis自動化安裝腳本