Commit 34f37fb7 authored by dvir volk's avatar dvir volk Committed by antirez
Browse files

fixed server install script to rewrite the default configuration file and not...

fixed server install script to rewrite the default configuration file and not a template, and removed the old config template
Conflicts:

	utils/redis.conf.tpl
parent da920e75
#!/bin/bash #!/bin/sh
# Copyright 2011 Dvir Volk <dvirsk at gmail dot com>. All rights reserved. # Copyright 2011 Dvir Volk <dvirsk at gmail dot com>. All rights reserved.
# #
...@@ -48,6 +48,7 @@ if [ `whoami` != "root" ] ; then ...@@ -48,6 +48,7 @@ if [ `whoami` != "root" ] ; then
exit 1 exit 1
fi fi
#Read the redis port #Read the redis port
read -p "Please select the redis port for this instance: [$_REDIS_PORT] " REDIS_PORT read -p "Please select the redis port for this instance: [$_REDIS_PORT] " REDIS_PORT
if [ ! `echo $REDIS_PORT | egrep "^[0-9]+\$"` ] ; then if [ ! `echo $REDIS_PORT | egrep "^[0-9]+\$"` ] ; then
...@@ -99,7 +100,7 @@ fi ...@@ -99,7 +100,7 @@ fi
#render the tmplates #render the tmplates
TMP_FILE="/tmp/$REDIS_PORT.conf" TMP_FILE="/tmp/$REDIS_PORT.conf"
TPL_FILE="./redis.conf.tpl" DEFAULT_CONFIG="../redis.conf"
INIT_TPL_FILE="./redis_init_script.tpl" INIT_TPL_FILE="./redis_init_script.tpl"
INIT_SCRIPT_DEST="/etc/init.d/redis_$REDIS_PORT" INIT_SCRIPT_DEST="/etc/init.d/redis_$REDIS_PORT"
PIDFILE="/var/run/redis_$REDIS_PORT.pid" PIDFILE="/var/run/redis_$REDIS_PORT.pid"
...@@ -112,9 +113,19 @@ if [ ! "$CLI_EXEC" ] ; then ...@@ -112,9 +113,19 @@ if [ ! "$CLI_EXEC" ] ; then
CLI_EXEC=`dirname $REDIS_EXECUTABLE`"/redis-cli" CLI_EXEC=`dirname $REDIS_EXECUTABLE`"/redis-cli"
fi fi
#Generate config file from template #Generate config file from the default config file as template
#changing only the stuff we're controlling from this script
echo "## Generated by install_server.sh ##" > $TMP_FILE echo "## Generated by install_server.sh ##" > $TMP_FILE
cat $TPL_FILE | while read line; do eval "echo \"$line\"" >> $TMP_FILE; done
SED_EXPR="s#^port [0-9]{4}\$#port ${REDIS_PORT}#;\
s#^logfile .+\$#logfile ${REDIS_LOG_FILE}#;\
s#^dir .+\$#dir ${REDIS_DATA_DIR}#;\
s#^pidfile .+\$#pidfile ${PIDFILE}#;\
s#^daemonize no\$#daemonize yes#;"
echo $SED_EXPR
sed -r "$SED_EXPR" $DEFAULT_CONFIG >> $TMP_FILE
#cat $TPL_FILE | while read line; do eval "echo \"$line\"" >> $TMP_FILE; done
cp -f $TMP_FILE $REDIS_CONFIG_FILE || exit 1 cp -f $TMP_FILE $REDIS_CONFIG_FILE || exit 1
#Generate sample script from template file #Generate sample script from template file
...@@ -146,9 +157,9 @@ REDIS_CHKCONFIG_INFO=\ ...@@ -146,9 +157,9 @@ REDIS_CHKCONFIG_INFO=\
# Description: Redis daemon\n # Description: Redis daemon\n
### END INIT INFO\n\n" ### END INIT INFO\n\n"
if [[ ! `which chkconfig` ]] ; then if [ !`which chkconfig` ] ; then
#combine the header and the template (which is actually a static footer) #combine the header and the template (which is actually a static footer)
echo -e $REDIS_INIT_HEADER > $TMP_FILE && cat $INIT_TPL_FILE >> $TMP_FILE || die "Could not write init script to $TMP_FILE" echo $REDIS_INIT_HEADER > $TMP_FILE && cat $INIT_TPL_FILE >> $TMP_FILE || die "Could not write init script to $TMP_FILE"
else else
#if we're a box with chkconfig on it we want to include info for chkconfig #if we're a box with chkconfig on it we want to include info for chkconfig
echo -e $REDIS_INIT_HEADER $REDIS_CHKCONFIG_INFO > $TMP_FILE && cat $INIT_TPL_FILE >> $TMP_FILE || die "Could not write init script to $TMP_FILE" echo -e $REDIS_INIT_HEADER $REDIS_CHKCONFIG_INFO > $TMP_FILE && cat $INIT_TPL_FILE >> $TMP_FILE || die "Could not write init script to $TMP_FILE"
...@@ -160,7 +171,7 @@ echo "Copied $TMP_FILE => $INIT_SCRIPT_DEST" ...@@ -160,7 +171,7 @@ echo "Copied $TMP_FILE => $INIT_SCRIPT_DEST"
#Install the service #Install the service
echo "Installing service..." echo "Installing service..."
if [[ ! `which chkconfig` ]] ; then if [ !`which chkconfig` ] ; then
#if we're not a chkconfig box assume we're able to use update-rc.d #if we're not a chkconfig box assume we're able to use update-rc.d
update-rc.d redis_$REDIS_PORT defaults && echo "Success!" update-rc.d redis_$REDIS_PORT defaults && echo "Success!"
else else
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment