cópia de arquivos de vários servidores [RESOLVIDO]

1. cópia de arquivos de vários servidores [RESOLVIDO]

Carlos Henrique Sá
carloskh

(usa Ubuntu)

Enviado em 27/12/2013 - 00:14h

Boa noite povo,

Estou com o seguinte problema
tenho vários servidores com uma estrutura igual então tenho que acessar cada server baixar o ultimo arquivo de log para um servidor de monitoramento cada server tem uma pasta onde fica o log especifico daquele server no nagios. e tenho que excluir o arquivo com mais de 7 dias.

pensei em fazer a copia diariamente no crom
tenho um arquivo com todos os ips dos servers.
o usuário será criado posteriormente e colocado as chaves publicas de acesso.

o que não estou sabendo fazer é que o PATH_DES vai ter o nome de cada servidor como posso fazer?tem como fazer no mesmo for

tentei isso

#var
DATA=$(date +%Y%m%d)
TIME_LIMIT=7
USR=root
PASS=tnx_admin
PATH_SRC=/var/swmi/lib/csvlogs/
PATH_DES=/home/test

for TNX in $(cat tnx.txt)
do
echo COPIA DE $TNX | cut -f2 -d:
echo
SRV=`$TNX | cut -f1 -d:`
echo "ip do server" $SRV
DES=`$TNX | cut -f2 -d:`
echo "nome do servidor" $DES
echo scp $USR@$SRV:$PATH_SRC/CallDetailRecord_$DATA.csv $PATH_DES/$DES
echo find $PATH_DES/$DES -type d -ctime +$TIME_LIMIT -exec rm -rf {} \;
echo
done


mas não sei por qual razão as variaveis declaradas dentro do for não funcionam preciso de uma luz
obrigado a todos



  


2. Re: cópia de arquivos de vários servidores [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 27/12/2013 - 08:39h



seguinte pelo que vi rápido já achei um erro

olha isso aqui

PATH_SRC=/var/swmi/lib/csvlogs/ < já tem um / no final

echo scp $USR@$SRV:$PATH_SRC/CallDetailRecord_$DATA.csv $PATH_DES/$DES < e aqui tu coloca novamente o /

o caminho vai ficar assim

/var/swmi/lib/csvlogs//CallDetailRecord_$DATA.csv


Deixa ua variavel assim

PATH_SRC=/var/swmi/lib/csvlogs


espero que ajude



3. Re: cópia de arquivos de vários servidores [RESOLVIDO]

Carlos Alberto Mazzer
cmazzer

(usa Ubuntu)

Enviado em 27/12/2013 - 08:42h

Bom dia,

A sintase do for e a forma de atribuir o valor na variável está errada.

O Correto é assim:

Supondo que o arquivo tnx.txt é :
10.1.1.1:10.2.2.2


O Comando for fica assim:
for TNX in `cat tnx.txt`
do
SRV=`echo $TNX | cut -f1 -d:`
echo $SRV
done



*** SAIDA ***
10.1.1.1

**OBS na hora de atribuir o valor na variável você não está utilizando o "echo" para mostrar o valor.


4. Re: cópia de arquivos de vários servidores [RESOLVIDO]

Carlos Henrique Sá
carloskh

(usa Ubuntu)

Enviado em 27/12/2013 - 09:28h

Muito obrigado pela contribuição resolveu.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts