Script de controle do Alfresco para RHEL / CentOS / Fedora
Publicado por Davidson Rodrigues Paulo (última atualização em 21/09/2009)
[ Hits: 8.767 ]
Homepage: http://davidsonpaulo.com/
Script de controle do Alfresco para ser usado no RHEL, CentOS e Fedora. Pode ser usado para iniciar, reiniciar e verificar o status do processo Alfresco.
O script considera que o Alfresco está instalado em /opt/alfresco.
Salve o arquivo em /etc/init.d/alfresco e execute o comando:
# chkconfig --add alfresco
e então você poderá gerenciar o serviço do Alfresco da mesma forma que os demais serviços que ficam /etc/init.d.
#!/bin/bash
#
# alfresco This shell script takes care of starting and stopping
# the Alfresco Enterprise Content Management system
#
# Author: Davidson Paulo <davidsonpaulo@gmail.com>
# License: GNU GPL v3+
#
# chkconfig: 345 99 00
# description: Alfresco ECM
# processname: alfresco
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
user="alfresco"
prog="Alfresco"
pidfile="/var/run/${prog}.pid"
testport() {
telnet -e B localhost 8080 > /dev/null 2>&1 << EOF
B
quit
EOF
return $?
}
testsite() {
wget --timeout=10 --tries=30 -O - http://127.0.0.1:8080/alfresco > /dev/null 2>&1
return $?
}
start(){
echo -n $"Starting $prog: "
su - $user -c "./alf_start.sh" > /dev/null 2>&1
sleep 3
if ! testport ; then
failure ; echo
return 1
else
pid="$( netstat -ltnp | fgrep ":8080" | awk '{ print $7 }' | cut -d/ -f1 )"
success ; echo
echo $pid > $pidfile
prog="Alfresco Web Framework"
echo -n $"Starting $prog: "
if ! testsite ; then
failure ; echo
else
success ; echo
fi
fi
}
stop(){
if [ -f $pidfile ] ; then
pid="$( cat $pidfile )"
else
pid="$( netstat -ltnp | fgrep ":8080" | awk '{ print $7 }' | cut -d/ -f1 )"
fi
echo -n $"Stopping $prog: "
su - $user -c "./alf_stop.sh" > /dev/null 2>&1
if ! testsite && ! testport ; then
for i in $( seq 1 10 ) ; do
if [ -n "$( ps ax | awk '$1 == '$pid' { print $1 }' )" ] ; then
kill $pid
sleep 1
else
success ; echo
rm -f $pidfile
return 0
fi
done
failure ; echo
else
failure ; echo
fi
}
restart(){
stop
start
}
status(){
base="$prog"
if [ -f $pidfile ] ; then
pid="$( netstat -ltnp |
awk '$4 ~ /^.*:8080$/ && $7 ~ /'$( cat $pidfile )'\/java/ { print $7 }' |
cut -d/ -f1 )"
else
pid="$( netstat -ltnp | awk '$4 ~ /^.*:8080$/ { print $7 }' |
cut -d/ -f1 )"
fi
if [ -n "$pid" ] ; then
echo $"${base} (pid $pid) is running..."
else
echo $"${base} is stopped"
fi
ports="$( netstat -lnp | fgrep $pid/java | awk '{ print $4 }' | rev | cut -d: -f1 | rev )"
cifsports=( 139/tcp 445/tcp 137/udp )
vtiport="7070/tcp"
# Check CIFS status
base="$prog CIFS server"
CIFS=""
c=0
for (( i=0 ; i<${#cifsports[@]} ; i++ )) ; do
port=${cifsports[$i]}
proto=${port#*/}
number=${port%/*}
frwrule="$( iptables-save | fgrep REDIRECT |
fgrep -- "-p $proto" | fgrep -- "--dport $number " )"
if [ -n "$frwrule" ] ; then
dport=$( echo "$frwrule" | sed -r 's/.*--to-ports ([^ ]*)/\1/' )
else
dport=$number
fi
while read line ; do
if [ $line -eq $dport ] ; then
lport=$line
break
else
lport=""
fi
done < <( netstat -lnp | awk '$1 == "'$proto'" { print $4 }' |
rev | cut -d: -f1 | rev )
if [ -n "$lport" ] ; then
CIFS[$c]="$lport"
(( c++ ))
fi
done
if [ ${#CIFS[@]} -gt 0 ] ; then
if [ ${#CIFS[@]} -eq ${#cifsports[@]} ] ; then
echo $"${base} (pid $pid) is running..."
else
echo $"${base} is stopped"
fi
else
echo $"${base} is stopped"
fi
# Check VTI status
base="$prog VTI server"
proto=${vtiport#*/}
number=${vtiport%/*}
while read line ; do
if [ $line -eq $number ] ; then
lport=$line
break
else
lport=""
fi
done < <( netstat -lnp | awk '$1 == "'$proto'" { print $4 }' |
rev | cut -d: -f1 | rev )
if [ -n "$lport" ] ; then
echo $"${base} (pid $pid) is running..."
else
echo $"${base} is stopped"
fi
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $?
Levantamento de hardware e software no Mandriva 2006
Apagando 2 linhas do fim de um arquivo
Angelinux Scripts - Teste de desempenho da sua maquina!
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Formas seguras de instalar Debian Sid (2)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Alguém executou um rm e quase mata a Pixar! (3)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









