aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Bernloehr <Heiko.Bernloehr@FreeIT.de>2018-02-21 13:40:37 +0100
committerHeiko Bernloehr <Heiko.Bernloehr@FreeIT.de>2018-02-21 15:57:18 +0100
commit07419c9ea1042b574660464da82f2ab63519e4c8 (patch)
tree76d2f327e10c11799a72b5130067ef7e97c78d6a
parentd02bdbf97a7b144bb60647d97922b4a018c486e4 (diff)
downloadvipeval-07419c9ea1042b574660464da82f2ab63519e4c8.tar.gz
vipeval-07419c9ea1042b574660464da82f2ab63519e4c8.zip
SLES12 vipeval start script.
-rw-r--r--README.md9
-rwxr-xr-xmisc/vipeval_sles12_startscript87
2 files changed, 92 insertions, 4 deletions
diff --git a/README.md b/README.md
index 05e7125..c4920d2 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ In the upcoming irb (interactive ruby shell) type:
MainLoop.instance.start
### Running in background
-For instance via rails runner, change into `vipeval` directory and type:
+For instance via rails runner, change into vipeval root directory and type:
bundle exec rails runner -e production MainLoop.instance.start &
@@ -35,7 +35,7 @@ or
/path/to/vipeval/bundle exec rails runner -e production MainLoop.instance.start &
You can place this also in a startup script (e.g. [sles12 init
-script](doc/vipeval_sles12_startscript)):
+script][vipeval-sles12-startscript]):
...
case "$1" in
@@ -51,7 +51,7 @@ script](doc/vipeval_sles12_startscript)):
For security reasons you may want to serve at least the ECS login password
via shell environment variable. Therefore you must uncomment the
`#password: <%= ENV['ECS_PASSWORD'] %>` line in `config/appcfg.yml` and
-comment the old `password: ...` line. then you can provide the password as
+comment the old `password: ...` line. Then you can provide the password as
an environment variable at the command line:
ECS_PASSWORD=my-secure-password bundle exec rails console -e production
@@ -62,7 +62,7 @@ or
Of course it's up to you how you set the ECS\_PASSWORD enverionment
variable. For instance you set it in your startup script (e.g. [sles12 init
-script](doc/vipeval_sles12_startscript)), which is owned by root and could
+script][vipeval-sles12-startscript]), which is owned by root and could
only read by him. Or read it from a file owned and readable by root:
ECS_PASSWORD=$(cat my_password_file) bundle exec ...
@@ -71,3 +71,4 @@ only read by him. Or read it from a file owned and readable by root:
[vipeval-master_github.zip]: https://github.com/freeit/vip_evaluation_server/archive/master.zip
[freeit-repo]: https://git.freeit.de/vipeval
[github-repo]: https://github.com/freeit/vip_evaluation_server
+[vipeval-sles12-startscript]: misc/vipeval_sles12_startscript
diff --git a/misc/vipeval_sles12_startscript b/misc/vipeval_sles12_startscript
new file mode 100755
index 0000000..85d1934
--- /dev/null
+++ b/misc/vipeval_sles12_startscript
@@ -0,0 +1,87 @@
+#!/bin/sh
+#
+# /etc/init.d/vipeval
+#
+### BEGIN INIT INFO
+# Provides: vipeval
+# Required-Start: $network $remote_fs $syslog
+# Should-Start:
+# Required-Stop: $network $remote_fs $syslog
+# Should-Stop:
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Description: Start
+# Short-Description: vipeval
+### END INIT INFO
+
+VIPEVAL_PIDFILE=/var/run/vipeval.pid
+VIPEVAL_ROOT=/home/projects/vipeval
+
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v ditto but be verbose in local rc status
+# rc_status -v -r ditto and clear the local rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear local rc status (overall remains)
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+# rc_splash arg sets the boot splash screen to arg (if active)
+. /etc/rc.status
+
+# First reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+
+case "$1" in
+ start)
+ echo -n "Starting VIP Evaluation Backend"
+ su -l -c "cd $VIPEVAL_ROOT && bundle exec rails runner -e production MainLoop.instance.start &" freeit
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down VIP Evaluation Backend"
+ kill `ps ax | grep -v 'grep.*bin/rails runner -e production MainLoop.instance.start' | grep 'bin/rails runner -e production MainLoop.instance.start' | awk '{print $1}'`
+ rc_status -v
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ rc_status
+ ;;
+ status)
+ PATH="/bin:/usr/bin"
+ pid=`/bin/ps ax | /usr/bin/grep -v 'grep.*bin/rails runner -e production MainLoop.instance.start' | /usr/bin/grep 'bin/rails runner -e production MainLoop.instance.start' | /usr/bin/awk '{print $1}'`
+ if [ -n "$pid" ]; then
+ echo "online (pid=$pid)"
+ exit 0
+ else
+ echo offline
+ exit 1
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+ ;;
+esac
+rc_exit