#!/sbin/openrc-run name="Redis server" : ${cfgfile:=${REDIS_CONF:-"/etc/redis.conf"}} : ${command_user:="${REDIS_USER:-redis}:${REDIS_GROUP:-redis}"} : ${retry:=30} command="/usr/bin/redis-server" command_args="$cfgfile --daemonize no $command_args" command_background="yes" pidfile="/run/$RC_SVCNAME.pid" required_files="$cfgfile" depend() { use net localmount logger after keepalived firewall } start_pre() { # Sets start-start-daemon's --chdir. directory=$(config_get 'dir' '/var/lib/redis') checkpath -d -o "$command_user" "$directory" local logfile=$(config_get 'logfile') [ "$logfile" ] && checkpath -d -o "$command_user" "${logfile%/*}" local unixsocket=$(config_get 'unixsocket') [ "$unixsocket" ] && checkpath -d -o "$command_user" "${unixsocket%/*}" return 0 } config_get() { local key="$1" local default="${2:-}" local value=$(awk "\$1 == \"$key\" { print \$2 }" "$cfgfile") printf '%s\n' "${value:-$default}" }