aboutsummaryrefslogtreecommitdiff
path: root/libexec/app-operate
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-01-27 12:58:25 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2013-01-27 12:58:25 +0100
commit11c930f71db58201994265b71a8f76187f1dbda1 (patch)
treeb0f90a4d631b946e4cb3d3755e9da1e3198aee71 /libexec/app-operate
parent6076c500405b7759845496dce6d3b9e1dc619cca (diff)
downloadapp.sh-11c930f71db58201994265b71a8f76187f1dbda1.tar.gz
app.sh-11c930f71db58201994265b71a8f76187f1dbda1.tar.bz2
app.sh-11c930f71db58201994265b71a8f76187f1dbda1.tar.xz
app.sh-11c930f71db58201994265b71a8f76187f1dbda1.zip
o Adding a common header to all scripts.
o Disabling un-used tests and apps for now.
Diffstat (limited to 'libexec/app-operate')
-rwxr-xr-xlibexec/app-operate50
1 files changed, 50 insertions, 0 deletions
diff --git a/libexec/app-operate b/libexec/app-operate
new file mode 100755
index 0000000..8e4ecac
--- /dev/null
+++ b/libexec/app-operate
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+set -e
+set -u
+
+APPSH_HOME=$(cd $(dirname "$0")/.. && pwd)
+
+. $APPSH_HOME/lib/common
+# HEADER END
+
+method_operate() {
+ local name="$1"; shift
+ local instance="$1"; shift
+ local method="$1"
+
+ if [ $# -gt 0 ]
+ then
+ shift
+ fi
+
+ bin=`$APPSH_HOME/bin/app-cat-conf -f $apps/$name/$instance/current/etc/app.conf -g app -k method | cut -f 2 -d =`
+
+ if [ -z "$bin" ]
+ then
+ bin=$APPSH_HOME/.app/lib/pid-method
+ fi
+
+ if [ ! -x "$name/$instance/current/$bin" ]
+ then
+ echo "Invalid executable: $bin" >&2
+ exit 1
+ fi
+
+ case "$method" in
+ start) run_app "$name" "$instance" "$bin" "start" "$@" ;;
+ stop) run_app "$name" "$instance" "$bin" "stop" "$@" ;;
+ status) run_app "$name" "$instance" "$bin" "status" "$@" ;;
+ restart) run_app "$name" "$instance" "$bin" "restart" "$@" ;;
+ run) run_app "$name" "$instance" "$bin" "run" "$@" ;;
+ *)
+ if [ -z "$method" ]
+ then
+ method_operate_usage
+ else
+ method_operate_usage "Unknown method $method"
+ fi
+ ;;
+ esac
+ exit $?
+}