Script de inicialização automatica para Linux OpenSuse

Versão para impressãoEnviar para amigoVersão PDF

Estou compartilhando com vocês um script (shell) que criei para automação da inicialização/parada do Informix, ela foi baseada em outras já existentes no Linux OpenSuse 11.2.

Revise a shell pra garantir que irá funcionar em seu Linux, principalmente devido as chamadas de funções da distribuição (rc_*).

Para uma configuração completa você devera:

  1. Salvar este código no arquivo /etc/init.d/informix
  2. Configurar sua inicialização através do comando:
    chkconfig informix on
  3. Para ambiente SUSE , criar o link desta shell no diretório sbin:
    ln -s /etc/init.d/informix /usr/sbin/rcinformix
    Obs.: Este passo não é obrigatório.
  4. Criar o arquivo de configuração /etc/informix.conf

init.d/informix


#! /bin/sh
#
# Author: Cesar Inacio Martins cesar at imartins dot com dot br
#
# /etc/init.d/informix
#
#   and symbolic its link
#
# /usr/sbin/rcinformix
#
### BEGIN INIT INFO
# Provides:       informix
# Required-Start: $local_fs $remote_fs $network
# Required-Stop:
# Default-Start:  2 3 5
# Default-Stop:   0 1 6
# Short-Description: Informix Database
# Description:    Informix_Database
### END INIT INFO
# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     ditto but be verbose in local rc status
#      rc_status -v -r  ditto and clear the local rc status
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num>
#      rc_reset         clear local rc status (overall remains)
#      rc_exit          exit appropriate to overall rc status


. /etc/rc.status

CONFIG=/etc/informix.conf
. $CONFIG
ONINIT_BIN=$INFORMIXDIR/bin/oninit
ONSTAT_BIN=$INFORMIXDIR/bin/onstat
ONMODE_BIN=$INFORMIXDIR/bin/onmode
test -x $ONINIT_BIN || exit 5
test -x $ONMODE_BIN || exit 5

if [ ! -f $CONFIG ];then
 echo "file: $CONFIG not found"
 exit 6
fi

rc_reset
case "$1" in
    start)
      echo -n "Starting Informix..."
      rm -f /INFORMIXTMP/* /INFORMIXTMP/.* 2>/dev/null
      su informix -c "$ONINIT_BIN" >/dev/null 2>&1
          rc_status -v
      ;;
    stop)
      echo -n "Stoping Informix..."
      su informix -c "$ONMODE_BIN -ky" >/dev/null 2>&1
      rc_status -v
      ;;
    status)
      echo -n "Informix status "
      su informix -c "$ONSTAT_BIN - " >/dev/null 2>&1
      [ $? -eq 0 -o $? -eq 1 -o $? -eq 2 -o $? -eq 3 -o $? -eq 5  ] && true || false
      rc_status -v
      ;;
    *)
      echo "Usage: $0 {start|stop|status}"
      exit 1
      ;;
esac
rc_exit

informix.conf

Observe no código que executo outra script (/etc/informix.conf) que deve ser criada manualmente e nela deve ser definido as variáveis de ambiente do Informix.

No meu caso eu executo uma outra shell que já utilizo no dia-a-dia para definir estas variaveis.

# cat /etc/informix.conf
. /home/informix/env.idsearth >/dev/null 2>&1

4
Média: 4 (2 votos)
Sua avaliação: Nenhum

Comentar

O conteúdo deste campo é privado não será exibido ao público.
  • Endereços de páginas de internet e emails viram links automaticamente.
  • Você pode usar tags BBCode no texto.
  • Tags HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

Mais informações sobre as opções de formatação

CAPTCHA
Este teste é para bloquear programas automatizados e previnir spams
CAPTCHA de Imagem
Digite o texto exibido na imagem.