HOME


Mini Shell 1.0
DIR: /usr/local/lsws/lsns/bin/
Upload File :
Current File : //usr/local/lsws/lsns/bin/redis_svc.sh
#!/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