Script de controle do Alfresco para RHEL / CentOS / Fedora
Publicado por Davidson Rodrigues Paulo (última atualização em 21/09/2009)
[ Hits: 8.401 ]
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 $?
Compara colunas e mostra a maior
Script para conectar a um servidor ssh
Script de busca (google em shell)
Nenhum comentário foi encontrado.
Vou voltar moderar conteúdos de Dicas e Artigos (0)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Instalação Uefi com o instalador clássico do Mageia (1)
Vou voltar moderar conteúdos de Dicas e Artigos (0)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta