centos7系统 shell script方式 redis 装机

#!/bin/bash
version=$1
serverurl='download.redis.io'
urlstatus=$(curl -s -m 5 -IL $serverurl|grep 200)
redis_home=/usr/local/redis
redis_log=/usr/local/redis/log
redis_dump=/usr/local/redis/dump
redis_conf=/usr/local/redis/etc
redis_pid=/usr/local/redis/run
redis_passwd=`date +%s |sha256sum |base64 |head -c 10 ;echo`
export PATH=$PATH:$redis_home/bin


if [ -z "$version" ]; then

echo "Please input version" && exit 1

fi

if [ "$urlstatus" == "" ];then

echo "urlstatus is OFF" && exit 1

fi

yum -y install gcc automake autoconf libtool make

cd /usr/local/src
if [ ! -f "redis-"$version".tar.gz" ];then
  rm -rf redis-*.tar.gz
  echo "Download redis from official website"
  wget http://download.redis.io/releases/redis-"$version"'.tar.gz'
elif [ -f "redis-"$version".tar.gz" ];then
  echo "redis-"$version".tar.gz is exsit!"
  rm -rf redis-"$version"
else
  echo "script exception" && exit 1
fi

tar xzf redis-"$version"'.tar.gz'
cd redis-"$version"
make && make PREFIX="$redis_home" install

echo "ADD script and configuration file"

mkdir -p $redis_log $redis_conf $redis_dump $redis_pid
cd $redis_conf && touch redis.conf
cat /dev/null >redis.conf

echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf && sysctl -p
echo "daemonize yes" >> redis.conf
echo "bind 0.0.0.0" >>redis.conf
echo "maxmemory 1024mb" >>redis.conf
echo "pidfile $redis_pid/redis.pid" >>redis.conf
echo "port 6379" >>redis.conf
echo "tcp-keepalive 0" >>redis.conf
echo "loglevel notice" >>redis.conf
echo "logfile "$redis_log"/redis.log" >>redis.conf
echo "databases 16" >>redis.conf
echo "rdbcompression yes" >>redis.conf
echo "dbfilename dump.rdb" >>redis.conf
echo "dir $redis_dump" >>redis.conf
echo "stop-writes-on-bgsave-error yes" >>redis.conf
echo "requirepass $redis_passwd" >>redis.conf
echo "save 60 1000" >>redis.conf
$redis_home/bin/redis-server $redis_conf/redis.conf
echo "Redis password is $redis_passwd"


echo "script to add a user to Linux system"
if [ $(id -u) -eq 0 ]; then
        read -p "Enter username : " username
        read -s -p "Enter password : " password
        egrep "^$username" /etc/passwd >/dev/null
        if [ $? -eq 0 ]; then
                echo "$username exists!"
                #exit 1
        else
                pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
                useradd -m -p $pass $username
                [ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"
        fi
else
        echo "Only root may add a user to the system"
        exit 2
fi

echo "add centos7 boot startup service"
cd /usr/lib/systemd/system
touch redis.service
cat> redis.service <<EOF
[Unit]
Description=Redis Server Manager
After=syslog.target
After=network.target

[Service]
Type=simple
User=$username
Group=$username
PIDFile=$redis_pid/redis.pid
ExecStart=$redis_home/bin/redis-server $redis_conf/redis.conf
ExecStop=$redis_home/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target
EOF

chown -R $username:$username $redis_home

echo "Check the startup redis.service status"
systemctl enable redis.service
systemctl start  redis.service
systemctl status redis.service

echo "Check the startup firewalld.service status"
systemctl disable firewalld.service
systemctl stop    firewalld.service
systemctl status  firewalld.service

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值