Saudações a todos!!!
Estou postando esse script, pois um colega de trabalho , o Caio me pediu, ele esta fazendo um script para atualizar o logix 5.10, aqui ele vai ter uma boa ideia. Boa sorte a todos.
Força ai Caio.
#!/bin/sh
# Script elaborado por Amilcar em 10-10-2003
LgxBkp="/bkpifx/bkp_fnt"
DtLgx=`date +"%Y%m%d_%H%M"`
Logo="/logix"
LogoTst="/logix_tst"
FntLgx="$Logo/fnt"
FntLgxTst="$LogoTst/fnt"
echo ""
echo "Scrip de Atualizacao de Fontes e OS Logix - Logocenter"
echo "======================================================"
echo ""
echo "Tecle Enter para Continuar..."
read enter
echo ""
echo "Atualizacao somente da base Teste ??? [y/n]"
echo "====================================="
read AtuTst
if [ $AtuTst == "n" ]
then
echo "Processo de atualizacao somente da Base de Producao"
echo "==================================================="
echo ""
read enter
ls -l $FntLgx/*.zip > /dev/null 2> /dev/null
cat /dev/null > /tmp/bkpfnt.tmp 2> /dev/null
ConfArq=$?
if [ ! $ConfArq == 0 ]
then
echo "Nao existem Fontes/OSs a serem Atualizados no momento!"
else
rm /tmp/bkpfnt.tmp > /dev/null 2> /dev/null
echo "Foram encontrados os seguintes arquivos para atualizacao:"
ls -l $FntLgx/*.zip
echo ''
for ZipLogo in `ls -A $FntLgx/*.zip`
do
echo "Analisando o arquivo $ZipLogo..."
OSFNT=`echo $ZipLogo | awk -F '/' {'print $5'} | awk -F '-' {'print $1'} 2> /dev/null`
unzip -j -o $ZipLogo -d $FntLgx
echo '' >> /tmp/bkpfnt.tmp
echo "- Arquivos existentes na OS/Fnt $OSFNT e nao efetuado backup:" >> /tmp/bkpfnt.tmp
for OrgLogo in `unzip -l $ZipLogo | awk -F '\' {'print $6'} | grep -v '.cnv'`
do
VerDir=`echo $OrgLogo | awk -F '.' {'print $1'} |awk -F"[0-9]" '{print $1}' | cut -c 1-3`
if [ $VerDir = 'con' ]
then
VerDir=`echo 'contab'`
fi
FixDir="$Logo/$VerDir"
ls $FixDir | grep $OrgLogo > /dev/null
NotVer=$?
if [ $NotVer == 0 ]
then
if test ! -d $LgxBkp/$DtLgx/$OSFNT
then
mkdir -p $LgxBkp/$DtLgx/$OSFNT
echo "SELECT log_versao_prg.*, " >> $LgxBkp/$DtLgx/$OSFNT/files.sql
echo "'$DtLgx' as date_time,'$OSFNT' as OS_Fnt,'$LgxBkp/$DtLgx/$OSFNT' as caminho " >> $LgxBkp/$DtLgx/$OSFNT/files.sql
echo "FROM log_versao_prg" >> $LgxBkp/$DtLgx/$OSFNT/files.sql
echo "WHERE lower(log_versao_prg.num_programa) in (" >> $LgxBkp/$DtLgx/$OSFNT/files.sql
fi
echo "Movendo o arquivo $FixDir/$OrgLogo para $LgxBkp/$DtLgx/$OSFNT"
mv $FixDir/$OrgLogo $LgxBkp/$DtLgx/$OSFNT
echo "Copiando arquivo $FntLgx/$OrgLogo para $FixDir"
cp $FntLgx/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
ARQFNT=`echo $OrgLogo | awk -F '.' {'print $1'}`
echo "'$ARQFNT', " >> $LgxBkp/$DtLgx/$OSFNT/files.sql
else
echo "Arquivo $FixDir/$OrgLogo nao encontrado!" >> /tmp/bkpfnt.tmp
echo "Copiando arquivo $FntLgx/$OrgLogo para $FixDir"
cp $FntLgx/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
fi
done
rm $ZipLogo
done
echo ''
echo '*** CONVERSORES ENCONTRADOS ***'
ls -lA $FntLgx/*.cnv > /dev/null 2> /dev/null
ConfCNV=$?
if [ ! $ConfCNV == 0 ]
then
echo "Nao existem conversores a serem executados!"
else
echo "Foram encontrados os seguintes conversores para serem executados:"
for CNVLogo in `ls -A $FntLgx/*.cnv 2> /dev/null`
do
echo "Movendo conversor $CNVLogo para $Logo/cnv"
mv $CNVLogo $Logo/cnv
done
fi
rm -rf $FntLgx/*
echo ''
echo 'ERROS: Os seguintes erros foram encontrados durante a atualizacao:'
cat /tmp/bkpfnt.tmp
echo ''
echo '*** FIM do scrip de backup das OSs/Fontes ***'
fi
echo ''
else
echo "Processo de atualizacao somente da Base de Teste..."
echo "==================================================="
read enter
ls -l $FntLgxTst/*.zip > /dev/null 2> /dev/null
cat /dev/null > /tmp/bkpfnt.tmp 2> /dev/null
ConfArq=$?
if [ ! $ConfArq == 0 ]
then
echo "Nao existem Fontes/OSs a serem Atualizados no momento!"
read enter
else
rm /tmp/bkpfnt.tmp > /dev/null 2> /dev/null
echo "Foram encontrados os seguintes arquivos para atualizacao:"
ls -l $FntLgxTst/*.zip |more
echo ''
for ZipLogo in `ls -A $FntLgxTst/*.zip`
do
echo "Analisando o arquivo $ZipLogo..."
OSFNT=`echo $ZipLogo | awk -F '/' {'print $5'} | awk -F '-' {'print $1'} 2> /dev/null`
unzip -j -o $ZipLogo -d $FntLgxTst
echo '' >> /tmp/bkpfnt.tmp
for OrgLogo in `unzip -l $ZipLogo | awk -F '\' {'print $6'} | grep -v '.cnv'`
do
VerDir=`echo $OrgLogo | awk -F '.' {'print $1'} |awk -F"[0-9]" '{print $1}' | cut -c 1-3`
if [ $VerDir = 'con' ]
then
VerDir=`echo 'contab'`
fi
FixDir="$LogoTst/$VerDir"
ls $FixDir | grep $OrgLogo > /dev/null
NotVer=$?
if [ $NotVer == 0 ]
then
echo "Removendo o arquivo $FixDir/$OrgLogo"
rm $FixDir/$OrgLogo
echo "Copiando arquivo $FntLgxTst/$OrgLogo para $FixDir"
cp $FntLgxTst/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
ARQFNT=`echo $OrgLogo | awk -F '.' {'print $1'}`
else
echo "Arquivo $FixDir/$OrgLogo nao encontrado!" >> /tmp/bkpfnt.tmp
echo "Copiando arquivo $FntLgxTst/$OrgLogo para $FixDir"
cp $FntLgxTst/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
fi
done
rm $ZipLogo
done
echo ''
fi
echo '*** CONVERSORES ENCONTRADOS ***'
ls -lA $FntLgxTst/*.cnv > /dev/null 2> /dev/null
ConfCNV=$?
if [ ! $ConfCNV == 0 ]
then
echo "Nao existem conversores a serem executados!"
else
echo "Foram encontrados os seguintes conversores para serem executados:"
for CNVLogo in `ls -A $FntLgxTst/*.cnv 2> /dev/null`
do
echo "Movendo conversor $CNVLogo para $LogoTst/cnv"
mv $CNVLogo $LogoTst/cnv
done
fi
rm -rf $FntLgxTst/*
echo ''
echo '*** FIM do scrip de backup das OSs/Fontes ***'
fi
# Script elaborado por Amilcar em 10-10-2003
LgxBkp="/bkpifx/bkp_fnt"
DtLgx=`date +"%Y%m%d_%H%M"`
Logo="/logix"
LogoTst="/logix_tst"
FntLgx="$Logo/fnt"
FntLgxTst="$LogoTst/fnt"
echo ""
echo "Scrip de Atualizacao de Fontes e OS Logix - Logocenter"
echo "======================================================"
echo ""
echo "Tecle Enter para Continuar..."
read enter
echo ""
echo "Atualizacao somente da base Teste ??? [y/n]"
echo "====================================="
read AtuTst
if [ $AtuTst == "n" ]
then
echo "Processo de atualizacao somente da Base de Producao"
echo "==================================================="
echo ""
read enter
ls -l $FntLgx/*.zip > /dev/null 2> /dev/null
cat /dev/null > /tmp/bkpfnt.tmp 2> /dev/null
ConfArq=$?
if [ ! $ConfArq == 0 ]
then
echo "Nao existem Fontes/OSs a serem Atualizados no momento!"
else
rm /tmp/bkpfnt.tmp > /dev/null 2> /dev/null
echo "Foram encontrados os seguintes arquivos para atualizacao:"
ls -l $FntLgx/*.zip
echo ''
for ZipLogo in `ls -A $FntLgx/*.zip`
do
echo "Analisando o arquivo $ZipLogo..."
OSFNT=`echo $ZipLogo | awk -F '/' {'print $5'} | awk -F '-' {'print $1'} 2> /dev/null`
unzip -j -o $ZipLogo -d $FntLgx
echo '' >> /tmp/bkpfnt.tmp
echo "- Arquivos existentes na OS/Fnt $OSFNT e nao efetuado backup:" >> /tmp/bkpfnt.tmp
for OrgLogo in `unzip -l $ZipLogo | awk -F '\' {'print $6'} | grep -v '.cnv'`
do
VerDir=`echo $OrgLogo | awk -F '.' {'print $1'} |awk -F"[0-9]" '{print $1}' | cut -c 1-3`
if [ $VerDir = 'con' ]
then
VerDir=`echo 'contab'`
fi
FixDir="$Logo/$VerDir"
ls $FixDir | grep $OrgLogo > /dev/null
NotVer=$?
if [ $NotVer == 0 ]
then
if test ! -d $LgxBkp/$DtLgx/$OSFNT
then
mkdir -p $LgxBkp/$DtLgx/$OSFNT
echo "SELECT log_versao_prg.*, " >> $LgxBkp/$DtLgx/$OSFNT/files.sql
echo "'$DtLgx' as date_time,'$OSFNT' as OS_Fnt,'$LgxBkp/$DtLgx/$OSFNT' as caminho " >> $LgxBkp/$DtLgx/$OSFNT/files.sql
echo "FROM log_versao_prg" >> $LgxBkp/$DtLgx/$OSFNT/files.sql
echo "WHERE lower(log_versao_prg.num_programa) in (" >> $LgxBkp/$DtLgx/$OSFNT/files.sql
fi
echo "Movendo o arquivo $FixDir/$OrgLogo para $LgxBkp/$DtLgx/$OSFNT"
mv $FixDir/$OrgLogo $LgxBkp/$DtLgx/$OSFNT
echo "Copiando arquivo $FntLgx/$OrgLogo para $FixDir"
cp $FntLgx/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
ARQFNT=`echo $OrgLogo | awk -F '.' {'print $1'}`
echo "'$ARQFNT', " >> $LgxBkp/$DtLgx/$OSFNT/files.sql
else
echo "Arquivo $FixDir/$OrgLogo nao encontrado!" >> /tmp/bkpfnt.tmp
echo "Copiando arquivo $FntLgx/$OrgLogo para $FixDir"
cp $FntLgx/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
fi
done
rm $ZipLogo
done
echo ''
echo '*** CONVERSORES ENCONTRADOS ***'
ls -lA $FntLgx/*.cnv > /dev/null 2> /dev/null
ConfCNV=$?
if [ ! $ConfCNV == 0 ]
then
echo "Nao existem conversores a serem executados!"
else
echo "Foram encontrados os seguintes conversores para serem executados:"
for CNVLogo in `ls -A $FntLgx/*.cnv 2> /dev/null`
do
echo "Movendo conversor $CNVLogo para $Logo/cnv"
mv $CNVLogo $Logo/cnv
done
fi
rm -rf $FntLgx/*
echo ''
echo 'ERROS: Os seguintes erros foram encontrados durante a atualizacao:'
cat /tmp/bkpfnt.tmp
echo ''
echo '*** FIM do scrip de backup das OSs/Fontes ***'
fi
echo ''
else
echo "Processo de atualizacao somente da Base de Teste..."
echo "==================================================="
read enter
ls -l $FntLgxTst/*.zip > /dev/null 2> /dev/null
cat /dev/null > /tmp/bkpfnt.tmp 2> /dev/null
ConfArq=$?
if [ ! $ConfArq == 0 ]
then
echo "Nao existem Fontes/OSs a serem Atualizados no momento!"
read enter
else
rm /tmp/bkpfnt.tmp > /dev/null 2> /dev/null
echo "Foram encontrados os seguintes arquivos para atualizacao:"
ls -l $FntLgxTst/*.zip |more
echo ''
for ZipLogo in `ls -A $FntLgxTst/*.zip`
do
echo "Analisando o arquivo $ZipLogo..."
OSFNT=`echo $ZipLogo | awk -F '/' {'print $5'} | awk -F '-' {'print $1'} 2> /dev/null`
unzip -j -o $ZipLogo -d $FntLgxTst
echo '' >> /tmp/bkpfnt.tmp
for OrgLogo in `unzip -l $ZipLogo | awk -F '\' {'print $6'} | grep -v '.cnv'`
do
VerDir=`echo $OrgLogo | awk -F '.' {'print $1'} |awk -F"[0-9]" '{print $1}' | cut -c 1-3`
if [ $VerDir = 'con' ]
then
VerDir=`echo 'contab'`
fi
FixDir="$LogoTst/$VerDir"
ls $FixDir | grep $OrgLogo > /dev/null
NotVer=$?
if [ $NotVer == 0 ]
then
echo "Removendo o arquivo $FixDir/$OrgLogo"
rm $FixDir/$OrgLogo
echo "Copiando arquivo $FntLgxTst/$OrgLogo para $FixDir"
cp $FntLgxTst/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
ARQFNT=`echo $OrgLogo | awk -F '.' {'print $1'}`
else
echo "Arquivo $FixDir/$OrgLogo nao encontrado!" >> /tmp/bkpfnt.tmp
echo "Copiando arquivo $FntLgxTst/$OrgLogo para $FixDir"
cp $FntLgxTst/$OrgLogo $FixDir
chmod 777 $FixDir/$OrgLogo
chown admlog.logix $FixDir/$OrgLogo
fi
done
rm $ZipLogo
done
echo ''
fi
echo '*** CONVERSORES ENCONTRADOS ***'
ls -lA $FntLgxTst/*.cnv > /dev/null 2> /dev/null
ConfCNV=$?
if [ ! $ConfCNV == 0 ]
then
echo "Nao existem conversores a serem executados!"
else
echo "Foram encontrados os seguintes conversores para serem executados:"
for CNVLogo in `ls -A $FntLgxTst/*.cnv 2> /dev/null`
do
echo "Movendo conversor $CNVLogo para $LogoTst/cnv"
mv $CNVLogo $LogoTst/cnv
done
fi
rm -rf $FntLgxTst/*
echo ''
echo '*** FIM do scrip de backup das OSs/Fontes ***'
fi