Last active
August 29, 2015 14:25
-
-
Save vmassuchetto/4252befa6456af25a775 to your computer and use it in GitHub Desktop.
Variáveis de ambiente para o initscript do Totvs Microsiga Protheus: License server, cTree, DBAccess, Appserver e Workflow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Arquivo de ambiente para o Totvs Microsiga Protheus. Serve como suporte para | |
# um arquivo principal de execução disponível em: | |
# https://gist.github.com/vmassuchetto/d43886fa0726feb73b73 | |
# | |
# Definição do ambiente | |
if [ -z "$PROTHEUS_ENV" ]; then | |
export PROTHEUS_ENV="producao"; | |
fi | |
# Preparação | |
mkdir -p /var/log/protheus > /dev/null 2>&1 | |
ulimit -n 65635 > /dev/null 2>&1 | |
# Variáveis de sistema | |
export HOSTNAME="linux" | |
export HOST="linux" | |
export SHELL="/bin/bash" | |
export USER="root" | |
export HOME="/root" | |
export HOSTTYPE="amd6" | |
# Variáveis do script | |
export CURRENT_DIR=`pwd` | |
# Caminhos de base | |
export PWD_ROOT="/root/totvs" | |
# Logs | |
export PWD_LOGS="/var/log/protheus" | |
# Protheus | |
export PWD_PROTHEUS="$PWD_ROOT/protheus/$PROTHEUS_ENV" | |
# TSS | |
export PWD_TSS="$PWD_ROOT/tss/$PROTHEUS_ENV" | |
# Aplicações | |
# License server | |
export BIN_LICENSE_SERVER="$PWD_ROOT/licenseserver/totvslicense/bin/totvssrvlinux" | |
# cTree start | |
export BIN_CTREE_SERVER_START="$PWD_PROTHEUS/ctree/bin/ace/isam/ctsrvr" | |
# cTree stop | |
export BIN_CTREE_CLIENT_STOP="$PWD_PROTHEUS/ctree/tools/cmdline/admin/client/ctstop -auto" | |
# DBAccess | |
export BIN_DBACCESS="$PWD_PROTHEUS/dbaccess/multi/dbaccess64opt" | |
# DBAccess TSS | |
export BIN_DBACCESS_TSS="$PWD_TSS/dbaccess/multi/dbaccess64opt_tss" | |
# Appserver master | |
export BIN_APPSERVER_MASTER="$PWD_PROTHEUS/protheus11/bin/master/appsrvlinux" | |
# Appserver balance | |
export BIN_APPSERVER_SLAVE1="$PWD_PROTHEUS/protheus11/bin/balance1/appsrvlinux" | |
export BIN_APPSERVER_SLAVE2="$PWD_PROTHEUS/protheus11/bin/balance2/appsrvlinux" | |
export BIN_APPSERVER_SLAVE3="$PWD_PROTHEUS/protheus11/bin/balance3/appsrvlinux" | |
export BIN_APPSERVER_SLAVE4="$PWD_PROTHEUS/protheus11/bin/balance4/appsrvlinux" | |
# Appserver compilacoes | |
export BIN_APPSERVER_COMPILE="$PWD_PROTHEUS/protheus11/bin/compila/appsrvlinux" | |
# Appserver TSS | |
export BIN_APPSERVER_TSS="$PWD_TSS/totvssped11/bin/appserver/appsrvlinux" | |
# Appserver Workflow | |
export BIN_APPSERVER_WORKFLOW="$PWD_PROTHEUS/protheus11/bin/wf/appsrvlinux" | |
# Logs | |
# License server | |
export LOG_LICENSE_SERVER="$PWD_LOGS/$PROTHEUS_ENV-licenseserver.log" | |
# cTree | |
export LOG_CTREE_SERVER="$PWD_LOGS/$PROTHEUS_ENV-ctree.log" | |
# DBAccess | |
export LOG_DBACCESS="$PWD_LOGS/$PROTHEUS_ENV-dbaccess.log" | |
# DBAccess TSS | |
export LOG_DBACCESS_TSS="$PWD_LOGS/$PROTHEUS_ENV-dbaccess-tss.log" | |
# Appserver master | |
export LOG_APPSERVER_MASTER="$PWD_LOGS/$PROTHEUS_ENV-appserver-master.log" | |
# Appserver balance | |
export LOG_APPSERVER_SLAVE1="$PWD_LOGS/$PROTHEUS_ENV-appserver-balance1.log" | |
export LOG_APPSERVER_SLAVE2="$PWD_LOGS/$PROTHEUS_ENV-appserver-balance2.log" | |
export LOG_APPSERVER_SLAVE3="$PWD_LOGS/$PROTHEUS_ENV-appserver-balance3.log" | |
export LOG_APPSERVER_SLAVE4="$PWD_LOGS/$PROTHEUS_ENV-appserver-balance4.log" | |
# Appserver compilacoes | |
export LOG_APPSERVER_COMPILE="$PWD_LOGS/$PROTHEUS_ENV-appserver-compila.log" | |
# Appserver TSS | |
export LOG_APPSERVER_TSS="$PWD_LOGS/$PROTHEUS_ENV-appserver-tss.log" | |
# Appserver Workflow | |
export LOG_APPSERVER_WORKFLOW="$PWD_LOGS/$PROTHEUS_ENV-appserver-workflow.log" | |
# Bibliotecas | |
export LC_ALL=C | |
export LD_LIBRARY_PATH="$PWD_PROTHEUS/protheus11/bin/appserver/libnfe/:$PWD_PROTHEUS/dbaccess/multi/:$PWD_TSS/dbaccess/multi/:$LD_LIBRARY_PATH" | |
function show_usage { | |
echo "Modo de uso:" | |
echo "" | |
echo " service protheus {start|stop|restart|status}" | |
} | |
function contains { | |
for word in $1; do | |
[[ $word = $2 ]] && return 0 | |
done | |
return 1 | |
} | |
function wait_kill { | |
for PID in "$@"; do | |
while kill -0 "$PID" > /dev/null 2>&1 ; do | |
kill -9 "$PID" | |
sleep 0.5 | |
done | |
echo -n " $PID " | |
done | |
} | |
function stop { | |
if [ -e $BIN_LICENSE_SERVER ] && [ "$PROTHEUS_ENV" == "producao" ] ; then | |
echo -ne "Parando License server...\t\t" | |
wait_kill `pidof -x "$BIN_LICENSE_SERVER"` | |
echo "OK" | |
fi | |
if [ -e $BIN_CTREE_SERVER_STOP ] ; then | |
echo -ne "Parando cTree...\t\t\t" | |
PID=`pidof -x "$BIN_CTREE_SERVER_START"` | |
while `pidof -x "$BIN_CTREE_SERVER_START"` > /dev/null 2>&1 ; do | |
$BIN_CTREE_CLIENT_STOP | |
done | |
if [ -z $PID ]; then | |
echo "OK" | |
else | |
echo "${PID} OK" | |
fi | |
fi | |
if [ -e $BIN_DBACCESS ] ; then | |
echo -ne "Parando DBAccess...\t\t\t" | |
wait_kill `pidof -x "$BIN_DBACCESS"` | |
echo "OK" | |
fi | |
if [ -e $BIN_DBACCESS_TSS ] ; then | |
echo -ne "Parando DBAccess TSS...\t\t\t" | |
wait_kill `pidof -x "$BIN_DBACCESS_TSS"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_MASTER ] ; then | |
echo -ne "Parando Appserver master..\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_MASTER"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE1 ] ; then | |
echo -ne "Parando Appserver balance1...\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_SLAVE1"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE2 ] ; then | |
echo -ne "Parando Appserver balance2...\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_SLAVE2"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE3 ] ; then | |
echo -ne "Parando Appserver balance3...\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_SLAVE3"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE4 ] ; then | |
echo -ne "Parando Appserver balance4...\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_SLAVE4"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_COMPILE ] ; then | |
echo -ne "Parando Appserver compila...\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_COMPILE"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_TSS ] ; then | |
echo -ne "Parando Appserver TSS...\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_TSS"` | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_WORKFLOW ] ; then | |
echo -ne "Parando Appserver Workflow...\t\t" | |
wait_kill `pidof -x "$BIN_APPSERVER_WORKFLOW"` | |
echo "OK" | |
fi | |
} | |
function start { | |
if [ -e $BIN_LICENSE_SERVER ] && [ "$PROTHEUS_ENV" == "producao" ] ; then | |
echo -ne "Iniciando License Server...\t\t" | |
stdbuf -oL $BIN_LICENSE_SERVER 3>&1 1>> $LOG_LICENSE_SERVER 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_LICENSE_SERVER` " | |
echo "OK" | |
fi | |
if [ -e $BIN_CTREE_SERVER_START ] ; then | |
echo -ne "Iniciando cTree...\t\t\t" | |
cd `dirname "$BIN_CTREE_SERVER_START"` | |
stdbuf -oL $BIN_CTREE_SERVER_START 3>&1 1>> $LOG_CTREE_SERVER 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_CTREE_SERVER_START` " | |
echo "OK" | |
cd $CURRENT_DIR | |
fi | |
if [ -e $BIN_DBACCESS ] ; then | |
echo -ne "Iniciando DBAccess...\t\t\t" | |
stdbuf -oL $BIN_DBACCESS 3>&1 1>> $LOG_DBACCESS 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_DBACCESS` " | |
echo "OK" | |
fi | |
if [ -e $BIN_DBACCESS_TSS ] ; then | |
echo -ne "Iniciando DBAccess TSS...\t\t" | |
stdbuf -oL $BIN_DBACCESS_TSS 3>&1 1>> $LOG_DBACCESS_TSS 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_DBACCESS_TSS` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_MASTER ] ; then | |
echo -ne "Iniciando Appserver master...\t\t" | |
stdbuf -oL $BIN_APPSERVER_MASTER 3>&1 1>> $LOG_APPSERVER_MASTER 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_MASTER` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE1 ] ; then | |
echo -ne "Iniciando Appserver balance 1...\t" | |
stdbuf -oL $BIN_APPSERVER_SLAVE1 3>&1 1>> $LOG_APPSERVER_SLAVE1 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_SLAVE1` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE2 ] ; then | |
echo -ne "Iniciando Appserver balance 2...\t" | |
stdbuf -oL $BIN_APPSERVER_SLAVE2 3>&1 1>> $LOG_APPSERVER_SLAVE2 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_SLAVE2` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE3 ] ; then | |
echo -ne "Iniciando Appserver balance 3...\t" | |
stdbuf -oL $BIN_APPSERVER_SLAVE3 3>&1 1>> $LOG_APPSERVER_SLAVE3 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_SLAVE3` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE4 ] ; then | |
echo -ne "Iniciando Appserver balance 4...\t" | |
stdbuf -oL $BIN_APPSERVER_SLAVE4 3>&1 1>> $LOG_APPSERVER_SLAVE4 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_SLAVE4` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_COMPILE ] ; then | |
echo -ne "Iniciando Appserver compila...\t\t" | |
stdbuf -oL $BIN_APPSERVER_COMPILE 3>&1 1>> $LOG_APPSERVER_COMPILE 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_COMPILE` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_TSS ] ; then | |
echo -ne "Iniciando Appserver TSS...\t\t" | |
stdbuf -oL $BIN_APPSERVER_TSS 3>&1 1>> $LOG_APPSERVER_TSS 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_TSS` " | |
echo "OK" | |
fi | |
if [ -e $BIN_APPSERVER_WORKFLOW ] ; then | |
echo -ne "Iniciando Appserver workflow...\t\t" | |
stdbuf -oL $BIN_APPSERVER_WORKFLOW 3>&1 1>> $LOG_APPSERVER_WORKFLOW 2>&1 & | |
sleep 2 | |
echo -n " `pidof -x $BIN_APPSERVER_WORKFLOW` " | |
echo "OK" | |
fi | |
} | |
function status { | |
if [ -e $BIN_LICENSE_SERVER ] && [ "$PROTHEUS_ENV" == "producao" ] ; then | |
PID_LICENSE_SERVER=`pidof -x "$BIN_LICENSE_SERVER"` | |
echo -ne "PID License server\t\t" | |
[[ $PID_LICENSE_SERVER ]] && echo $PID_LICENSE_SERVER || echo "N" | |
fi | |
if [ -e $BIN_CTREE_SERVER_START ] ; then | |
PID_CTREE_SERVER=`pidof -x "$BIN_CTREE_SERVER_START"` | |
echo -ne "PID cTree\t\t\t" | |
[[ $PID_CTREE_SERVER ]] && echo $PID_CTREE_SERVER || echo "N" | |
fi | |
if [ -e $BIN_DBACCESS ] ; then | |
PID_DBACCESS=`pidof -x "$BIN_DBACCESS"` | |
echo -ne "PID DBAccess\t\t\t" | |
[[ $PID_DBACCESS ]] && echo $PID_DBACCESS || echo "N" | |
fi | |
if [ -e $BIN_DBACCESS_TSS ] ; then | |
PID_DBACCESS_TSS=`pidof -x "$BIN_DBACCESS_TSS"` | |
echo -ne "PID DBAccess TSS\t\t" | |
[[ $PID_DBACCESS_TSS ]] && echo $PID_DBACCESS_TSS || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_MASTER ] ; then | |
PID_APPSERVER_MASTER=`pidof -x "$BIN_APPSERVER_MASTER"` | |
echo -ne "PID Appserver master\t\t" | |
[[ $PID_APPSERVER_MASTER ]] && echo $PID_APPSERVER_MASTER || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE1 ] ; then | |
PID_APPSERVER_SLAVE1=`pidof -x "$BIN_APPSERVER_SLAVE1"` | |
echo -ne "PID Appserver balance 1\t\t" | |
[[ $PID_APPSERVER_SLAVE1 ]] && echo $PID_APPSERVER_SLAVE1 || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE2 ] ; then | |
PID_APPSERVER_SLAVE2=`pidof -x "$BIN_APPSERVER_SLAVE2"` | |
echo -ne "PID Appserver balance 2\t\t" | |
[[ $PID_APPSERVER_SLAVE2 ]] && echo $PID_APPSERVER_SLAVE2 || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE3 ] ; then | |
PID_APPSERVER_SLAVE3=`pidof -x "$BIN_APPSERVER_SLAVE3"` | |
echo -ne "PID Appserver balance 3\t\t" | |
[[ $PID_APPSERVER_SLAVE3 ]] && echo $PID_APPSERVER_SLAVE3 || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_SLAVE4 ] ; then | |
PID_APPSERVER_SLAVE4=`pidof -x "$BIN_APPSERVER_SLAVE4"` | |
echo -ne "PID Appserver balance 4\t\t" | |
[[ $PID_APPSERVER_SLAVE4 ]] && echo $PID_APPSERVER_SLAVE4 || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_COMPILE ] ; then | |
PID_APPSERVER_COMPILE=`pidof -x "$BIN_APPSERVER_COMPILE"` | |
echo -ne "PID Appserver compila\t\t" | |
[[ $PID_APPSERVER_COMPILE ]] && echo $PID_APPSERVER_COMPILE || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_TSS ] ; then | |
PID_APPSERVER_TSS=`pidof -x "$BIN_APPSERVER_TSS"` | |
echo -ne "PID Appserver TSS\t\t" | |
[[ $PID_APPSERVER_TSS ]] && echo $PID_APPSERVER_TSS || echo "N" | |
fi | |
if [ -e $BIN_APPSERVER_WORKFLOW ] ; then | |
PID_APPSERVER_WORKFLOW=`pidof -x "$BIN_APPSERVER_WORKFLOW"` | |
echo -ne "PID Appserver workflow\t\t" | |
[[ $PID_APPSERVER_WORKFLOW ]] && echo $PID_APPSERVER_WORKFLOW || echo "N" | |
fi | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment