Script de inicialização automatica para Linux OpenSuse
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:
- Salvar este código no arquivo /etc/init.d/informix
- Configurar sua inicialização através do comando:
chkconfig informix on - 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. - 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
- 410 leituras
Tags:





Comentar