Script avançado para transferência de arquivos [RESOLVIDO]

1. Script avançado para transferência de arquivos [RESOLVIDO]

Rodrigo Santos
sarara

(usa Debian)

Enviado em 29/04/2019 - 16:18h

Olá nobres colegas boa tarde, tenho uma caso a resolver estou tendo dificuldade vou relatar aqui para ver se alguém pode me ajudar.
trabalho em uma empresa que possui atualmente 80 filiais espalhadas pelo brasil, conectadas por VPN.
sempre nessas lojas eu preciso enviar arquivos para elas e na maior parte das vezes eu preciso enviar o arquivo loja por loja.
são pontos de vendas sendo que em cada filiar tem de 6 a 15 pontos de vendas, e as vezes preciso transferir uma arquivo de configuração
e tenho q fazer manualmente e copiando o arquivo um por um para a loja.
as lojas usam linux ubuntu versão 12,
nesse caso eu queria saber se alguém tem uma forma um script que me permita copiar um arquivo para todas as 80 lojas de uma vez,
pode ser uma script ou um programa q eu configure para isso.
Desde já obrigado, caso eu não tenha sido claro me falem q dou mais detalhes.



  


2. Re: Script avançado para transferência de arquivos

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/04/2019 - 17:44h

cat clientes.txt
192.168.0.10
192.168.0.11
192.168.1.10
192.168.1.20
192.168.2.30

$ for i in $(cat clientes.txt); do scp config.ini user@$i:/etc/; done

* Verificar integridade:
$ for i in $(cat clientes.txt); do ssh user@$i "md5sum /etc/config.ini"; done



3. Re: Script avançado para transferência de arquivos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/04/2019 - 17:58h

Alternativa mais elegante:

https://www.unixmen.com/copying-files-to-multiple-systems-simultaneously-with-pssh/



4. Re: Script avançado para transferência de arquivos [RESOLVIDO]

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 29/04/2019 - 20:46h

amarildosertorio escreveu:

$ cat clientes.txt
192.168.0.10
192.168.0.11
192.168.1.10
192.168.1.20
192.168.2.30

$ for i in $(cat clientes.txt); do scp config.ini user@$i:/etc/; done

* Verificar integridade:
$ for i in $(cat clientes.txt); do ssh user@$i "md5sum /etc/config.ini"; done


Boa noite, outra ideia se baseando nessa acima é utilizar o sshpass


log=/tmp/logCopias.txt
echo "Iniciando copias - `date +%H:%M:%S`" > $log
for i in $( cat ArquivoComIPs/servidores.txt)
do

sshpass -p senhaAqui scp ArquivoAserCopiado usuario@$i:/diretorio/destino
if [ $? -eq 0 ] ; then
echo "`date +%H:%M:%S` - Arquivo copiadas com sucesso para: $i" >> $log
echo "--------------------------------------------------------" >> $log
else
echo "`date +%H:%M:%S` - ERRO AO COPIAR ARQUIVO PARA: $i" >> $log
echo "--------------------------------------------------------" >> $log
fi
done



5. Re: Script avançado para transferência de arquivos [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/04/2019 - 21:57h



Muito interessante o parallel-(ssh|scp|rsync, etc)
Valeu pela dica....
Att.: Marcelo Oliver


6. Re: Script avançado para transferência de arquivos [RESOLVIDO]

Rodrigo Santos
sarara

(usa Debian)

Enviado em 30/04/2019 - 00:01h

Pessoal, muito agradecido pela ajuda!! ^^
amanhã irei testar certinho!!
grato a todos!!

Rodrigo Santos
"Viva a liberdade viva o linux"


7. Re: Script avançado para transferência de arquivos [RESOLVIDO]

Rodrigo Santos
sarara

(usa Debian)

Enviado em 30/04/2019 - 08:34h

Bom dia pessoal, desculpem mas eu não entendi bem como funcionaria o script a baixo.


log=/tmp/logCopias.txt
echo "Iniciando copias - `date +%H:%M:%S`" > $log
for i in $( cat ArquivoComIPs/servidores.txt)
do

sshpass -p senhaAqui scp ArquivoAserCopiado usuario@$i:/diretorio/destino
if [ $? -eq 0 ] ; then
echo "`date +%H:%M:%S` - Arquivo copiadas com sucesso para: $i" >> $log
echo "--------------------------------------------------------" >> $log
else
echo "`date +%H:%M:%S` - ERRO AO COPIAR ARQUIVO PARA: $i" >> $log
echo "--------------------------------------------------------" >> $log
fi
done


Rodrigo Santos
"Viva a liberdade viva o linux"


8. Re: Script avançado para transferência de arquivos [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 30/04/2019 - 08:57h


uma alternativa é o uso do ansible

https://infoslack.com/devops/automatize-o-gerenciamento-de-servidores-com-ansible


9. Re: Script avançado para transferência de arquivos

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/04/2019 - 09:09h

danniel-lara escreveu:


uma alternativa é o uso do ansible

https://infoslack.com/devops/automatize-o-gerenciamento-de-servidores-com-ansible


Seria o melhor dos mundos. Trabalhar com arquivo versionado e deixa o ansible fazer o resto com playbook.


10. Re: Script avançado para transferência de arquivos [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 30/04/2019 - 09:17h


amarildosertorio escreveu:

danniel-lara escreveu:


uma alternativa é o uso do ansible

https://infoslack.com/devops/automatize-o-gerenciamento-de-servidores-com-ansible


Seria o melhor dos mundos. Trabalhar com arquivo versionado e deixa o ansible fazer o resto com playbook.


ansible facilitou muito o meu trabalho



11. Re: Script avançado para transferência de arquivos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/04/2019 - 09:21h


danniel-lara escreveu:


amarildosertorio escreveu:

danniel-lara escreveu:


uma alternativa é o uso do ansible

https://infoslack.com/devops/automatize-o-gerenciamento-de-servidores-com-ansible


Seria o melhor dos mundos. Trabalhar com arquivo versionado e deixa o ansible fazer o resto com playbook.


ansible facilitou muito o meu trabalho


Massa!

Trabalho com Puppet, Foreman e Katello.


12. Re: Script avançado para transferência de arquivos [RESOLVIDO]

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 30/04/2019 - 10:08h


sarara escreveu:

Bom dia pessoal, desculpem mas eu não entendi bem como funcionaria o script a baixo.


log=/tmp/logCopias.txt
echo "Iniciando copias - `date +%H:%M:%S`" > $log
for i in $( cat ArquivoComIPs/servidores.txt)
do

sshpass -p senhaAqui scp ArquivoAserCopiado usuario@$i:/diretorio/destino
if [ $? -eq 0 ] ; then
echo "`date +%H:%M:%S` - Arquivo copiadas com sucesso para: $i" >> $log
echo "--------------------------------------------------------" >> $log
else
echo "`date +%H:%M:%S` - ERRO AO COPIAR ARQUIVO PARA: $i" >> $log
echo "--------------------------------------------------------" >> $log
fi
done


Rodrigo Santos
"Viva a liberdade viva o linux"


Bom dia, ele faz uma copia usando o scp, como faria manualmente de um a um, a diferença é que ele pega no arquivo que colocar os IPs um a um e vai enviando para eles, tendo em consideração que todos tenham o mesmo usuario e senha em comum... e o sshpass é o que permite tu colocar a senha no script, sem precisar colocar a senha um a um, eu utilizo um igual so que com outras opções a mais, mas deixei ai esse modelo pra ti se basear nele e editar conforme precisar, tem uma duvida mais especifica?





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts