Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
3deb7bad
Commit
3deb7bad
authored
Jun 15, 2016
by
Salvatore Sanfilippo
Committed by
GitHub
Jun 15, 2016
Browse files
Merge pull request #3226 from MichielDeMey/patch-1
Allow non-interactive execution of install_server
parents
82554cae
90781dec
Changes
1
Hide whitespace changes
Inline
Side-by-side
utils/install_server.sh
View file @
3deb7bad
...
...
@@ -25,9 +25,25 @@
#
################################################################################
#
# Interactive service installer for redis server
# this generates a redis config file and an /etc/init.d script, and installs them
# this scripts should be run as root
# Service installer for redis server, runs interactively by default.
#
# To run this script non-interactively (for automation/provisioning purposes),
# feed the variables into the script. Any missing variables will be prompted!
# Tip: Environment variables also support command substitution (see REDIS_EXECUTABLE)
#
# Example:
#
# sudo REDIS_PORT=1234 \
# REDIS_CONFIG_FILE=/etc/redis/1234.conf \
# REDIS_LOG_FILE=/var/log/redis_1234.log \
# REDIS_DATA_DIR=/var/lib/redis/1234 \
# REDIS_EXECUTABLE=`command -v redis-server` ./utils/install_server.sh
#
# This generates a redis config file and an /etc/init.d script, and installs them.
#
# /!\ This script should be run as root
#
################################################################################
die
()
{
echo
"ERROR:
$1
. Aborting!"
...
...
@@ -42,6 +58,7 @@ SCRIPTPATH=$(dirname $SCRIPT)
#Initial defaults
_REDIS_PORT
=
6379
_MANUAL_EXECUTION
=
false
echo
"Welcome to the redis service installer"
echo
"This script will help you easily set up a running redis server"
...
...
@@ -53,47 +70,61 @@ if [ "$(id -u)" -ne 0 ] ; then
exit
1
fi
#Read the redis port
read
-p
"Please select the redis port for this instance: [
$_REDIS_PORT
] "
REDIS_PORT
if
!
echo
$REDIS_PORT
| egrep
-q
'^[0-9]+$'
;
then
echo
"Selecting default:
$_REDIS_PORT
"
REDIS_PORT
=
$_REDIS_PORT
_MANUAL_EXECUTION
=
true
#Read the redis port
read
-p
"Please select the redis port for this instance: [
$_REDIS_PORT
] "
REDIS_PORT
if
!
echo
$REDIS_PORT
| egrep
-q
'^[0-9]+$'
;
then
echo
"Selecting default:
$_REDIS_PORT
"
REDIS_PORT
=
$_REDIS_PORT
fi
fi
#read the redis config file
_REDIS_CONFIG_FILE
=
"/etc/redis/
$REDIS_PORT
.conf"
read
-p
"Please select the redis config file name [
$_REDIS_CONFIG_FILE
] "
REDIS_CONFIG_FILE
if
[
-z
"
$REDIS_CONFIG_FILE
"
]
;
then
REDIS_CONFIG_FILE
=
$_REDIS_CONFIG_FILE
echo
"Selected default -
$REDIS_CONFIG_FILE
"
_MANUAL_EXECUTION
=
true
#read the redis config file
_REDIS_CONFIG_FILE
=
"/etc/redis/
$REDIS_PORT
.conf"
read
-p
"Please select the redis config file name [
$_REDIS_CONFIG_FILE
] "
REDIS_CONFIG_FILE
if
[
-z
"
$REDIS_CONFIG_FILE
"
]
;
then
REDIS_CONFIG_FILE
=
$_REDIS_CONFIG_FILE
echo
"Selected default -
$REDIS_CONFIG_FILE
"
fi
fi
#read the redis log file path
_REDIS_LOG_FILE
=
"/var/log/redis_
$REDIS_PORT
.log"
read
-p
"Please select the redis log file name [
$_REDIS_LOG_FILE
] "
REDIS_LOG_FILE
if
[
-z
"
$REDIS_LOG_FILE
"
]
;
then
REDIS_LOG_FILE
=
$_REDIS_LOG_FILE
echo
"Selected default -
$REDIS_LOG_FILE
"
_MANUAL_EXECUTION
=
true
#read the redis log file path
_REDIS_LOG_FILE
=
"/var/log/redis_
$REDIS_PORT
.log"
read
-p
"Please select the redis log file name [
$_REDIS_LOG_FILE
] "
REDIS_LOG_FILE
if
[
-z
"
$REDIS_LOG_FILE
"
]
;
then
REDIS_LOG_FILE
=
$_REDIS_LOG_FILE
echo
"Selected default -
$REDIS_LOG_FILE
"
fi
fi
#get the redis data directory
_REDIS_DATA_DIR
=
"/var/lib/redis/
$REDIS_PORT
"
read
-p
"Please select the data directory for this instance [
$_REDIS_DATA_DIR
] "
REDIS_DATA_DIR
if
[
-z
"
$REDIS_DATA_DIR
"
]
;
then
REDIS_DATA_DIR
=
$_REDIS_DATA_DIR
echo
"Selected default -
$REDIS_DATA_DIR
"
_MANUAL_EXECUTION
=
true
#get the redis data directory
_REDIS_DATA_DIR
=
"/var/lib/redis/
$REDIS_PORT
"
read
-p
"Please select the data directory for this instance [
$_REDIS_DATA_DIR
] "
REDIS_DATA_DIR
if
[
-z
"
$REDIS_DATA_DIR
"
]
;
then
REDIS_DATA_DIR
=
$_REDIS_DATA_DIR
echo
"Selected default -
$REDIS_DATA_DIR
"
fi
fi
#get the redis executable path
_REDIS_EXECUTABLE
=
`
command
-v
redis-server
`
read
-p
"Please select the redis executable path [
$_REDIS_EXECUTABLE
] "
REDIS_EXECUTABLE
if
[
!
-x
"
$REDIS_EXECUTABLE
"
]
;
then
REDIS_EXECUTABLE
=
$_REDIS_EXECUTABLE
_MANUAL_EXECUTION
=
true
#get the redis executable path
_REDIS_EXECUTABLE
=
`
command
-v
redis-server
`
read
-p
"Please select the redis executable path [
$_REDIS_EXECUTABLE
] "
REDIS_EXECUTABLE
if
[
!
-x
"
$REDIS_EXECUTABLE
"
]
;
then
echo
"Mmmmm... it seems like you don't have a redis executable. Did you run make install yet?"
exit
1
REDIS_EXECUTABLE
=
$_REDIS_EXECUTABLE
if
[
!
-x
"
$REDIS_EXECUTABLE
"
]
;
then
echo
"Mmmmm... it seems like you don't have a redis executable. Did you run make install yet?"
exit
1
fi
fi
fi
...
...
@@ -112,7 +143,9 @@ echo "Data dir : $REDIS_DATA_DIR"
echo
"Executable :
$REDIS_EXECUTABLE
"
echo
"Cli Executable :
$CLI_EXEC
"
read
-p
"Is this ok? Then press ENTER to go on or Ctrl-C to abort."
_UNUSED_
if
$_MANUAL_EXECUTION
==
true
;
then
read
-p
"Is this ok? Then press ENTER to go on or Ctrl-C to abort."
_UNUSED_
fi
mkdir
-p
`
dirname
"
$REDIS_CONFIG_FILE
"
`
||
die
"Could not create redis config directory"
mkdir
-p
`
dirname
"
$REDIS_LOG_FILE
"
`
||
die
"Could not create redis log dir"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment