#包下载地址https://download.redis.io/releases/redis-6.2.2.tar.gz
#可在线安装或离线安装,只要系统上有redis源码包,修改下版本号即可
#
#!/bin/bash
down_dir=/opt #下载包路径
tar_dir=/usr/local/src #解压包路径
ins_dir=/apps/redis #安装路径
redis_version=“6.2.2”
redis_pkg=redis-${redis_version}.tar.gz
local_redis_result=find / -name ${redis_pkg} | tail -1
local_redis_dirname=$(dirname ${local_redis_result})
local_redis_basename=$(basename ${local_redis_result})
download_redis(){
if [ -n “${local_redis_result}” ];then
echo “${redis_pkg} is exsit! 开始安装!”
elif ping -c1 baidu.com &>/dev/null;then
wget https://download.redis.io/releases/redis-6.2.2.tar.gz -P ${down_dir} && echo “redis包下载完毕!”
else
echo “${redis_pkcg}包不存在且网络不通,请检查!” && exit 1
fi
}
check(){
echo “正在安装环境包”
if grep “Ubuntu” /etc/issue &>/dev/null;then
apt update &>/dev/null && apt install iproute2 nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute gcc openssh-server iotop unzip zip libjemalloc-dev libsystemd-dev make -y &>/dev/null
#ubuntu redis_service
cat > /lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis data structure server
Documentation=https://redis.io/documentation
#Before=your_application.service another_example_application.service
#AssertPathExists=/var/lib/redis
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=${ins_dir}/bin/redis-server ${ins_dir}/etc/redis.conf --supervised systemd --daemonize yes
## Alternatively, have redis-server load a configuration file:
#ExecStart=/usr/local/bin/redis-server /path/to/your/redis.conf
#PIDFile=/apps/redis/run/redis_6379.pid
LimitNOFILE=50000
NoNewPrivileges=yes
#OOMScoreAdjust=-900
#PrivateTmp=yes
Type=notify
TimeoutStartSec=infinity
TimeoutStopSec=infinity
UMask=0077
User=redis
Group=redis
WorkingDirectory=${ins_dir}
[Install]
WantedBy=multi-user.target
EOF
elif grep “Kernel” /etc/issue &> /dev/null;then
yum -y install epel-release &>/dev/null && yum -y install vim-enhanced wget pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop psmisc tree lrzsz gcc gcc-c++ automake glibc glibc-devel systemd-devel bc zip unzip lsof tcpdump ntpdate screen make &>/dev/null
#centos redis_service
cat > /lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]