Temos várias implantações de um aplicativo em servidores como app00, app01 e assim por diante. Eu preciso copiar um único arquivo de log de todos esses servidores para o meu mac local, para que eu possa executar alguns grepping e cut.
Usei o csshX para visualizar este arquivo, mas não consigo encontrar um equivalente para o scp. Eu basicamente quero duas coisas:
- Capacidade de conectar-se a n números desses servidores e copiar o arquivo
- Evite nomear conflitos localmente, talvez prefixando o arquivo de log com o nome do host do servidor
Como eu faço isso?
Respostas:
Isso é trivial a ver com um pequeno script. Por exemplo:
O acima irá copiar o arquivo de cada um dos servidores sequencialmente e nomeá-lo
SERVERNAME_file
. Portanto, o arquivoapp0
seráapp0_file
etc. Você obviamente pode alterar os nomes para o que quiser.fonte
&
no final doscp
comando e await
no final, e você terá simultaneidade sem nenhum custo extra.Use o GNU paralelo :
Diferente das soluções que usam a
for
, isso executará todos os downloads em paralelofonte
fonte
Se você é capaz de usar python, existe um módulo interessante que parece simplificar as tarefas de administração de máquina chamadas fabric: http://docs.fabfile.org/en/latest/tutorial.html
Eu queria usá-lo, mas também não o rodeio
fonte
Isso funcionou para mim
fonte