File: //proc/3638984/fd/255
#!/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")"
PACKAGE_SIZES="${DIR}/../conf/redis_package_size.conf"
if [ -e "${REDISDIR}/redis.size" ] && \
SIZEMB=$(cat "${REDISDIR}/redis.size") ;
then
echo "SIZEMB from size file: ${SIZEMB}"
elif PACKAGE=$(cat "${REDISDIR}/redis.package") && \
PKGLINE=$(grep "${PACKAGE}", < "${PACKAGE_SIZES}") && \
SIZEMB=$(echo "${PKGLINE}" | cut -d',' -f2 | tr -d '\r')
then
echo "SIZEMB from package ${PACKAGE}: ${SIZEMB}"
elif SIZEMB=$("cat" "${DIR}/../conf/redis_default_size.conf") ; then
echo "SIZEMB from default file: ${SIZEMB}"
else
SIZEMB="64"
echo "SIZEMB final default: ${SIZEMB}"
fi
/usr/bin/redis-server --port 0 --unixsocketperm 700 --unixsocket "${SOCKDIR}"/redis.sock --dir "${REDISDIR}" --maxmemory "${SIZEMB}"mb --supervised systemd
elif [ "$ACTION" == "stop" ]; then
echo "Stopping redis for ${USER}"
else
echo "Undefined action: ${ACTION}"
exit 1
fi