From 47cdf2243d076ade575894fdefe14f99107e2160 Mon Sep 17 00:00:00 2001 From: Andreas Maunz Date: Wed, 16 Nov 2011 17:30:08 +0100 Subject: Using separate files for ot-tools --- README | 3 +-- ot-tools-root.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 ot-tools-root.sh diff --git a/README b/README index 00ed726..7828109 100644 --- a/README +++ b/README @@ -14,8 +14,7 @@ Here are some of my goals when writing the installer: - Logged (all non-elemtary actions are logged) -Configure your system in config.sh. -NOTE for variable NGINX_PORT: leave this empty or set to ":80" to use port 80. If you do this, use the ot-scripts in "ot-tools-root.sh". Otherwise, if NGINX_PORT >1024, use ot-scripts in "ot-tools-user.sh". +Configure your system in config.sh. NOTE for variable NGINX_PORT: leave this empty or set to ":80" to use port 80. If you do this, use the ot-scripts in "ot-tools-root.sh". Otherwise, if NGINX_PORT >1024, use ot-scripts in "ot-tools-user.sh". Even if we officially support only *one* distro (currently Debian 6.0.1), I tested the installer successfully on various Ubuntus. In this README at the top are the requirements of the installer. By default, everything is installed to $HOME/opentox-ruby (=OT_PREFIX). The configs go to OT_PREFIX/.sh__ot.sh for each package. diff --git a/ot-tools-root.sh b/ot-tools-root.sh new file mode 100644 index 0000000..eec6780 --- /dev/null +++ b/ot-tools-root.sh @@ -0,0 +1,79 @@ +# Some useful scripts to put in your ~/.bashrc in case you are using bash (assuming OT_PREFIX is '~/opentox-ruby'): +# USE ONLY IF YOUR NGINX PORT IS less or equal to 1024 (PRIVILEGED) + +# Load server config +otconfig() { + source $HOME/.opentox-ui.sh +} + +# Update the version +otupdate() { + START_DIR=`pwd` + otconfig + cd $HOME/opentox-ruby/www/opentox + for d in `find -not -name "." -type d -maxdepth 1 2>/dev/null`; do echo ; echo $d ; cd $d ; MYBRANCH=`git branch | grep "*" | sed 's/.*\ //g'`; git pull origin $MYBRANCH ; cd - ; done + cd $HOME/opentox-ruby/www/opentox/algorithm/libfminer + mv libbbrc/Makefile libbbrc/Makefile~ + mv liblast/Makefile liblast/Makefile~ + if ! git pull; then + echo "Error! Pull for Fminer failed." + return 1 + fi + mv libbbrc/Makefile~ libbbrc/Makefile + mv liblast/Makefile~ liblast/Makefile + make -C libbbrc/ clean + make -C libbbrc/ ruby + make -C liblast/ clean + make -C liblast/ ruby + cd - + cd $HOME/opentox-ruby/www/opentox/algorithm/last-utils + if ! git pull; then + echo "Error! Pull for Last-Utils failed." + return 1 + fi + cd - + cd opentox-ruby + LINK_DIR=`gem which opentox-ruby | sed 's/\/opentox-ruby.rb//'` + if [ -h $LINK_DIR ]; then + rm -f $LINK_DIR + fi + rake install + if ! [ -h $LINK_DIR ]; then + echo "Warning! Your lib $LINK_DIR is no symlink. Linking back for you..." + rm -rf "$LINK_DIR~" + mv "$LINK_DIR" "$LINK_DIR~" + ln -sf $HOME/opentox-ruby/www/opentox/opentox-ruby/lib `echo ${LINK_DIR::${#LINK_DIR}-3}` + fi + echo "Please execute 'otstart' to restart." + cd "$START_DIR" +} + +# Start the server +otstart() { + otkill + sudo bash -c "source $HOME/.opentox-ui.sh; nohup redis-server $HOME/opentox-ruby/redis-2.2.2/redis.conf >/dev/null 2>&1 &" + sudo bash -c "source $HOME/.opentox-ui.sh; nohup nginx -c $HOME/opentox-ruby/nginx/conf/nginx.conf >/dev/null 2>&1 &" + sleep 2 + if ! pgrep -u root nginx>/dev/null 2>&1; then echo "Failed to start nginx."; fi + if ! pgrep -u root redis-server>/dev/null 2>&1; then echo "Failed to start redis."; fi +} + +# Display log +alias otless='less $HOME/.opentox/log/production.log' + +# Tail log +alias ottail='tail -f $HOME/.opentox/log/production.log' + +# Reload the server +otreload() { + sudo bash -c "source $HOME/.opentox-ui.sh; nginx -s reload" +} + +# Kill the server +otkill() { + sudo killall -u root nginx >/dev/null 2>&1 + sudo bash -c "source $HOME/.opentox-ui.sh; redis-cli shutdown >/dev/null 2>&1" + while sudo ps x | grep PassengerWatchdog | grep -v grep >/dev/null 2>&1; do sleep 1; done + while sudo ps x | grep Rack | grep -v grep >/dev/null 2>&1; do sleep 1; done + for p in `pgrep -u root R 2>/dev/null`; do sudo kill -9 $p; done +} -- cgit v1.2.3