shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: shell executando shell em maquina remota


From: weberlf
Subject: Re: shell executando shell em maquina remota
Date: Thu, 10 Nov 2005 18:52:35 -0000
User-agent: eGroups-EW/0.82

>   O script esta executando o script da outra maquina até o fim 
porem o ssh
> continua pendurado. Como eu poderia fazer para assim que acabar a 
execução
> da shell na maquina remota desfazer a conecção ssh e terminar a 
shell
> original.
> */
> 
> Nao deveria continuar pendurado. Posso ver os dois scripts ? 
> 
 
  MrBits, segue as duas shell e arquivo de log. 
  Se puder me ajudar, agradeço

Weber


#------------------------------------------------
# Script utilizado para executar script remoto
#------------------------------------------------
#! /bin/sh
`su - suporte -c "ssh suporte@192.168.1.75 -
5960 /usr/backup/pg_cria_clone.sh" `


#------------------------------------------------------------------
# Script pg_cria_clone.sh - utilizado para dropar database
# e fazer restore do backup
#------------------------------------------------------------------
#! /bin/sh
echo 'INICIO ==> ' `date` >> /usr/backup/pg_cria_clone.log

#
# Inicia processo de clone
#
echo 'Lendo databases cadastrados' >> /usr/backup/pg_cria_clone.log

databases=`psql -q -t template1 -c "select datname from pg_database" 
`

for d in $databases
  do
    if [ $d = 'template0' ]
      then
      continue
    fi

    if [ $d = 'template1' ]
      then
      continue
    fi

    #
    # Montagem do nome do arquivo para restaurar
    #
    if [ `echo $d | cut -c1-5` = 'dbmor' ]
      then
        #
        # Nome do arquivo eh o dia da semana + nome servidor +
        # nome database + sequencial da semena
        #
        dia=`date +%d`
        semana=`expr $dia / 7`
        resto=`expr $dia % 7`

        if [ $resto -gt 0 ]
          then
           semana=`expr $semana + 1`
        fi

        archive=`date +%a`$d'14_'$semana.gz
    else
      archive=`date +%a`$d'14'.gz
    fi

    echo 'verificando arquivo ' $archive 
>> /usr/backup/pg_cria_clone.log


    #
    # Verifica se arquivo existe e nao eh nulo
    #
    if [ -s /usr/backup/$archive ]
      then
        echo 'dropando database ' $d >> /usr/backup/pg_cria_clone.log
        sudo dropdb $d   >> /usr/backup/pg_cria_clone.log
        echo 'criando  database ' $d >> /usr/backup/pg_cria_clone.log
        sudo createdb $d >> /usr/backup/pg_cria_clone.log
        echo 'restaurando arquivo ' $archive 
>> /usr/backup/pg_cria_clone.log
        sudo pg_restore -d $d -Fc -v /usr/backup/$archive 
2> /dev/null 1> /dev/null
        echo 'termino restauracao database ' $d 
>> /usr/backup/pg_cria_clone.log
    fi
  done

echo 'TERMINO ==> ' `date` >> /usr/backup/pg_cria_clone.log
exit
   

=======================
ARQUIVO DE LOG
=======================

INICIO ==>  Thu Nov 10 15:51:28 BRST 2005
Descarregando monitor
Lendo databases cadastrados
verificando arquivo  Thudbmorlov14_2.gz
verificando arquivo  Thudbmortll14_2.gz
verificando arquivo  Thudbmormul14_2.gz
verificando arquivo  Thudblov14.gz
verificando arquivo  Thudbmul14.gz
dropando database  dbmul
DROP DATABASE
criando  database  dbmul
CREATE DATABASE
restaurando arquivo  Thudbmul14.gz
termino restauracao database  dbmul
verificando arquivo  Thudbssw14.gz
dropando database  dbssw
DROP DATABASE
criando  database  dbssw
CREATE DATABASE
restaurando arquivo  Thudbssw14.gz
termino restauracao database  dbssw
verificando arquivo  Thudbtll14.gz
dropando database  dbtll
DROP DATABASE
criando  database  dbtll
CREATE DATABASE
restaurando arquivo  Thudbtll14.gz
termino restauracao database  dbtll
Carregando monitor
TERMINO ==>  Thu Nov 10 15:52:41 BRST 2005





reply via email to

[Prev in Thread] Current Thread [Next in Thread]