Aqui vai um script para o dbexport
#!/bin/sh
# Amilcar de Jesus Moreti
# ajmoreti@yahoo.com.br
#
# /usr/local/bin/BkpExportNot.sh
#
# Script de Backup Full 00:00 hrs
#
# Data Criacao = 06/07/2009 - Data Modificacao = 30/09/2009
#
# Versao = 2 - Release = 01
# Variaveis Informix
INFORMIXDIR=/usr/informix
DBCENTURY=C
INFORMIXSERVER=prd
ONCONFIG=onconfig.prd
DBDATE=dmy4/
DBMONEY=,
LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql
PATH=$INFORMIXDIR/bin:$PATH
export INFORMIXDIR DBCENTURY INFORMIXSERVER ONCONFIG DBDATE DBMONEY LD_LIBRARY_PATH PATH
# Variaveis de Sistemas
DirBkpRem="isis:/export"
DirBkp="/export"
DirNoturno="$DirBkp/Noturno"
Dia=`date --date '1 day ago' +%a`
DirDia="$DirNoturno/$Dia"
DirSemanal="$DirBkp/Semanal"
DirSem="$DirSemanal/$Dia"
UpdateStatistics="/usr/local/bin/update.sql"
# Funcao para Montar NFS
FnMontaNFS ()
{
sudo mount -t nfs $DirBkpRem $DirBkp
}
FnDesmontaNFS ()
{
sudo umount $DirBkp
}
# Verifica se NFS esta montada
df | grep $DirBkpRem
Ver=$?
while [ $Ver != 0 ]
do
FnMontaNFS
Ver=$?
done
# EXPORT NOTURNO - Segunda a Sabado
if [ $Dia != "Sun" ]
then
# Verifica se existe Diretorios de Backups
if [ ! -d $DirNoturno ]
then
mkdir -p $DirDia
else
if [ ! -d $DirDia ]
then
mkdir $DirDia
fi
fi
echo "Se posicionando no Diretorio de Backup"
cd $DirDia
echo "Efetuando Limpeza do Diretorio de Backup Atual"
rm -rf crm.exp logix.exp dbexport.out nfe.exp
cd $HOME
echo "Tirando Instancia do Ar"
onmode -ky
Ver=$?
sleep 2
if [ $Ver == 0 ]
then
echo "Instancia $INFORMIXSERVER Baixada com Sucesso"
else
echo "Ocorreu problemas ao Baixar a Instancia $INFORMIXSERVER, favor verificar"
fi
echo ""
echo "Colocando a instancia no ar em mode single-user"
sleep 5
oninit -j
Ver=$?
if [ $Ver == 0 ]
then
echo "Instancia $INFORMIXSERVER no AR com Sucesso"
else
echo "Ocorreu problemas com a instancia $INFORMIXSERVER, favor verificar"
fi
echo "Exportando dados do logix"
cd $DirDia
dbexport logix
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco Logix"
else
echo "Ocorreu problemas na Exportacao dos dados do banco logix, favor verificar"
fi
sleep 5
echo "Exportando dados do crm"
dbexport crm
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco CRM"
else
echo "Ocorreu problemas na Exportacao dos dados do banco CRM, favor verificar"
fi
sleep 5
echo "Exportando dados do nfe"
dbexport nfe
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco NFE"
else
echo "Ocorreu problemas na Exportacao dos dados do banco NFE, favor verificar"
fi
sleep 5
# EXPORT SEMANAL - Domingo
else
# Verifica se existe Diretorios de Backups
if [ ! -d $DirSemanal ]
then
mkdir -p $DirSem
else
if [ ! -d $DirSem ]
then
mkdir $DirSem
fi
fi
echo "Se posicionando no Diretorio de Backup"
cd $DirSem
echo "Efetuando Limpeza do Diretorio de Backup Atual"
rm -rf crm.exp logix.exp dbexport.out nfe.exp
cd $HOME
echo "Tirando Instancia do Ar"
onmode -ky
Ver=$?
sleep 2
if [ $Ver == 0 ]
then
echo "Instancia $INFORMIXSERVER Baixada com Sucesso"
else
echo "Ocorreu problemas ao Baixar a Instancia $INFORMIXSERVER, favor verificar"
fi
echo ""
echo "Colocando a instancia no ar em modo single-user"
sleep 5
oninit -j
Ver=$?
if [ $Ver == 0 ]
then
echo "Instancia $INFORMIXSERVER no AR com Sucesso"
else
echo "Ocorreu problemas com a instancia $INFORMIXSERVER, favor verificar"
fi
sleep 5
echo "Exportando dados do logix"
cd $DirSem
dbexport logix
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco Logix"
else
echo "Ocorreu problemas na Exportacao dos dados do banco logix, favor verificar"
fi
sleep 5
echo "Exportando dados do crm"
dbexport crm
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco CRM"
else
echo "Ocorreu problemas na Exportacao dos dados do banco CRM, favor verificar"
fi
sleep 5
echo "Exportando dados do NFE"
dbexport nfe
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco NFE"
else
echo "Ocorreu problemas na Exportacao dos dados do banco NFE, favor verificar"
fi
sleep 5
fi
cd $HOME
# Voltar a instancia a Multi-User
echo "Colocando a instancia em modo multi-user"
onmode -m
# Update Statistics
echo "Update Statistics Logix"
dbaccess logix $UpdateStatistics
echo "Update Statistics CRM"
dbaccess crm $UpdateStatistics
echo "Update Statistics NFE"
dbaccess nfe $UpdateStatistics
# Desmontar NFS
FnDesmontaNFS
# Verifica se existe Diretorios de Backups
if [ ! -d $DirSemanal ]
then
mkdir -p $DirSem
else
if [ ! -d $DirSem ]
then
mkdir $DirSem
fi
fi
echo "Se posicionando no Diretorio de Backup"
cd $DirSem
echo "Efetuando Limpeza do Diretorio de Backup Atual"
rm -rf crm.exp logix.exp dbexport.out nfe.exp
cd $HOME
echo "Tirando Instancia do Ar"
onmode -ky
Ver=$?
sleep 2
if [ $Ver == 0 ]
then
echo "Instancia $INFORMIXSERVER Baixada com Sucesso"
else
echo "Ocorreu problemas ao Baixar a Instancia $INFORMIXSERVER, favor verificar"
fi
echo ""
echo "Colocando a instancia no ar em modo single-user"
sleep 5
oninit -j
Ver=$?
if [ $Ver == 0 ]
then
echo "Instancia $INFORMIXSERVER no AR com Sucesso"
else
echo "Ocorreu problemas com a instancia $INFORMIXSERVER, favor verificar"
fi
sleep 5
echo "Exportando dados do logix"
cd $DirSem
dbexport logix
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco Logix"
else
echo "Ocorreu problemas na Exportacao dos dados do banco logix, favor verificar"
fi
sleep 5
echo "Exportando dados do crm"
dbexport crm
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco CRM"
else
echo "Ocorreu problemas na Exportacao dos dados do banco CRM, favor verificar"
fi
sleep 5
echo "Exportando dados do NFE"
dbexport nfe
Ver=$?
if [ $Ver == 0 ]
then
echo "Dados exportados com Sucesso do Banco NFE"
else
echo "Ocorreu problemas na Exportacao dos dados do banco NFE, favor verificar"
fi
sleep 5
fi
cd $HOME
# Voltar a instancia a Multi-User
echo "Colocando a instancia em modo multi-user"
onmode -m
# Update Statistics
echo "Update Statistics Logix"
dbaccess logix $UpdateStatistics
echo "Update Statistics CRM"
dbaccess crm $UpdateStatistics
echo "Update Statistics NFE"
dbaccess nfe $UpdateStatistics
# Desmontar NFS
FnDesmontaNFS
Fiquem na Paz.