#!/bin/bash
# Starts/stops redis user services
# Parameters start|stop $USER
if (( $# < 2 )); then
echo "You must specify an action and a user"
exit 1
fi
ACTION=$1
USER=$2
HOMEDIR=$(/usr/bin/getent passwd "$USER" | /usr/bin/cut -d: -f6)
if [[ -f "/etc/cloudlinux-release" ]] ; then
SOCKDIR1="${HOMEDIR}/.cagefs"
SOCKDIR="${HOMEDIR}/.cagefs/tmp"
REDISDIR="${HOMEDIR}/.cagefs/tmp/redis"
else
SOCKDIR1="${HOMEDIR}/.lsns"
SOCKDIR="${HOMEDIR}/.lsns/tmp"
REDISDIR="${HOMEDIR}/.lsns/tmp/redis"
fi
if [ "$ACTION" == "start" ]; then
if [ ! -d "$REDISDIR" ]; then
mkdir -p "$SOCKDIR1" -m 0777
chown -R "$USER" "$SOCKDIR1"
mkdir -p "$SOCKDIR" -m 0777
chown -R "$USER" "$SOCKDIR"
mkdir -p "$REDISDIR" -m 0777
chown -R "$USER" "$REDISDIR"
fi
DIR="$(dirname "$0")"
CONF="${DIR}/../conf/redis_size.conf"
if
! SIZEMB=$(grep "\"${USER}\"," "${CONF}" | /usr/bin/cut -d\" -f4) \
&&
! SIZEMB=$("cat {DIR}/../conf/redis_default_size.conf")
then
SIZEMB="64"
fi
/usr/bin/redis-server --port 0 --unixsocketperm 700 --unixsocket ${SOCKDIR}/redis.sock --dir ${REDISDIR} --maxmemory ${SIZEMB}mb --supervised systemd
elif [ "$ACTION" == "stop" ]; then
/usr/libexec/redis-shutdown
else
echo "Undefined action: ${ACTION}"
exit 1
fi
|