Scrip para Copia entre Sevidores! [RESOLVIDO]

1. Scrip para Copia entre Sevidores! [RESOLVIDO]

rafael farias freire
rafael_ti

(usa Ubuntu)

Enviado em 07/08/2009 - 13:06h

PESSOAL, EU USO O UBUNTU 9.10 E ESTOU COM UMA DIFICULDADE PARA FAZER UM DETERMINADO SCRIPT NO SHELL.

PRECISO FAZER COPIA DE UM ARQUIVO DE UM SERVIDOR PARA OUTRO SERVIDOR, PARA UM LOCAL QUE NEM SEMPRE SERÁ O MESMO,E NEM O MESMO ARQUIVO, MAIS SEMPRE QUE ESCOLHO O ARQUIVO O DIRETORIO DELE EM AMBOS OS SERVIDORES SERÃO OS MESMOS:
EX:.

SITUAÇÃO1

SERVIDOR ORIGEM
SERVIDOR 1 :. /HEALTH/FRM50/PLN/T2000.FMX

SERVIDORES DESTINO:
SERVIDOR 2 :. /HEALTH/FRM50/PLN/

SERVIDOR 3 :. /HEALTH/FRM50/PLN/

###################################

SITUAÇÃO2

SERVIDOR ORIGEM
SERVIDOR 1 :. /HUMASTER/FRM5/MAT/T4310.FMX

SERVIDORES DESTINO:
SERVIDOR 2 :. /HUMASTER/FRM5/MAT/

SERVIDOR 3 :. /HUMASTER/FRM5/MAT/

OBS:
COMO NEM SEMPRE O ARQUIVO É O MESMO E NEM O DESTINO, QUERIA QUE O SCRIPT ME PERGUNTASSE QUAL O DIRETORIO ORIGEM E LOGO APÓS INFORMÁ-LO, QUE PERGUNTASSE O DIRETORIO DESTINO, QUE SERÁ O MESMO PARA TODOS OS SERVIDORES, QUE JÁ SÃO MAPEADOS NA MINHA MAQUINA.

CONTO COM A AJUDA DE TODOS, POIS SEMPRE QUE FAÇO ESSA ROTINA NA EMPRESA PRECISO FAZER A COPIA DE UM POR UM.


  


2. Re: Scrip para Copia entre Sevidores! [RESOLVIDO]

Diogo Pereira
Di00_G33k

(usa FreeBSD)

Enviado em 08/08/2009 - 01:18h

Deseja que o programa lhe pergunte o diretório origem e destino?? Basta usar o comando read.


3. Re: Scrip para Copia entre Sevidores! [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 10/08/2009 - 19:31h

Como você pretende fazer a cópia (FTP, SSH, etc)? dê o exemplo do comando que você dá para copiar manualmente na situação 1, por exemplo que o resto eu te ajudo.


4. Re: Scrip para Copia entre Sevidores! [RESOLVIDO]

Joao
stack_of

(usa Slackware)

Enviado em 10/08/2009 - 22:01h

Conheces o comando scp?

Para copiar um, vários ou todos arquivos de um diretório para outro host basta usar o comando scp:

scp arquivo host:/diretorio/destino/ (copia um arquivo)

scp * host:/diretorio/destino/ (copia todos arquivos do diretório)

scp *.txt host:/diretorio/destino/ (copia todos arquivox .txt)

scp -r /diretorio host:/diretorio/destino/ (copia o diretório para o destino)

Observe que vai solicitar senha, se esta for necessária.


5. Re: Scrip para Copia entre Sevidores! [RESOLVIDO]

rafael farias freire
rafael_ti

(usa Ubuntu)

Enviado em 11/08/2009 - 09:35h

Como os Servidores já estam mapeados na minha maquina pelo FSTAB, eu copio da seguinte forma:

Situação 1
cp -f /drive_x/HEALTH/FRM50/PLN/T22A3.FMX /drive_r/HEALTH/FRM50/PLN/
cp -f /drive_x/HEALTH/FRM50/PLN/T22A3.FMX /drive_f/HEALTH/FRM50/PLN/
cp -f /drive_x/HEALTH/FRM50/PLN/T22A3.FMX /drive_v/HEALTH/FRM50/PLN/

Situação 2

cp -f /drive_x/HUMASTER/FRM5/MAT/T4310.FMX /drive_r/HEALTH/FRM50/PLN/
cp -f /drive_x/HUMASTER/FRM5/MAT/T4310.FMX /drive_f/HEALTH/FRM50/PLN/
cp -f /drive_x/HUMASTER/FRM5/MAT/T4310.FMX /drive_v/HEALTH/FRM50/PLN/

E assim por diante. Tenho que copiar o mesmo arquivo para cada servidor de um por um.

Obs: Esse: drive_x ; drive_r ; drive_f ; drive_v , estão todos já mapeados na minha maquina.

Preciso que por exemplo, quando eu startar o script ele faça o seguinte:

root@rafaelf-desktop:/# ./copiatela.sh
Qual o arquivo a ser copiado ?
/HEALTH/FRM50/PLN/T22A3.FMX
#
Qual o diretório de destino ?
/HEALTH/FRM50/PLN/
#
Arquivo copiado!
root@rafaelf-desktop:/#

Obs: Sendo que ele não pedirá as unidades,devido ser sempre do : drive_x(Servidor Desenvolvimento) para os demais sitados : drive_r ; drive_f ; drive_v ( Servidores de produção ).



6. Re: Scrip para Copia entre Sevidores! [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 11/08/2009 - 12:57h

Meu amigo, não sei bem sua necessidade, mas acredito que poderia ser resolvido melhor com um rsynk ou mesmo controlando a data de geração do arquivo, ao invés de informar arquivo por arquivo, mas o que você havia solicitado está aqui.

Vou chamar o script de vvlcopia ok, então vc pode utilizá-lo de duas formas:

sh vvlcopia e ele te mostra a tela para inserir o nome do arquivo (ex.: /HEALTH/FRM50/PLN/T2000.FMX) e do diretório destino (ex.: /HUMASTER/FRM5/MAT/)

mas você pode simplesmente digitar:
sh vvlcopia /HEALTH/FRM50/PLN/T2000.FMX /HUMASTER/FRM5/MAT/

não esqueca do espaco entre as variaveis OK

se precisar mais alguma coisa avise.


7. Re: Scrip para Copia entre Sevidores! [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 11/08/2009 - 12:59h

#vvlcopia
#






menu ()
{
clear
echo "
-------------------------------------------------------------
SCRIPT PARA COPIA DE ARQUIVOS
-------------------------------------------------------------

Informe o arquivo a ser copiado:"
read arquivo_origem
echo "

Informe o diretorio destino:"
read destino
}
processa ()
{
cp -f /"$drive_origem""$arquivo_origem" /"$drive_destino""$destino"
rc=$?
if [ "$rc" -eq 0 ]; then
date "+%Y-%M-%d %H:%m:%S INFO: Arquivo copiado com sucesso no $drive_destino"
else
date "+%Y-%M-%d %H:%m:%S ERRO: ATENCAO - Erro ao copiar $arquivo_origem para $drive_destino"
fi
echo ""
}
if [ -n "$1" -a -n "$2" ]; then
arquivo_origem="$1"
destino="$2"
else
menu
fi
echo "
------------------------------------------------------------
INICIANDO COPIA
------------------------------------------------------------
"




#=========================================================
# ALTERE A PARTE ABAIXO COM OS DADOS DO SEU AMBIENTE
#=========================================================

drive_origem="drive_x" # Indicar o drive origem

drive_destino="drive_r" # Indicar drive destino1
processa
drive_destino="drive_v" # Indicar drive destino2
processa
drive_destino="drive_f" # Indicar drive destino3
processa

#se necessário va copiando estas 2 linhas para acrescentar
#outros drives destino.



echo "
------------------------------------------------ FIM -------"





8. Re: Scrip para Copia entre Sevidores! [RESOLVIDO]

rafael farias freire
rafael_ti

(usa Ubuntu)

Enviado em 11/08/2009 - 15:56h

Muitissimo Obrigado Fdmarp!!!
Deu exatamente do jeito que eu quiz, diminui a 800% o meu trabalho com a copia de telas para os outros servidores das filiais.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts