
Eu tenho vários servidores que criam vários programas diferentes para vários sistemas diferentes.
Depois que uma compilação é concluída, ela é arquivada em um único arquivo e compactada e, em seguida, md5sum
é criado um arquivo. Um servidor pode construir várias versões diferentes, resultando em vários arquivos compactados e arquivos archive.md5.
Finalmente, um script é executado em vários outros servidores que verifica os md5sum
arquivos de cada arquivo, compara-os com os md5sum
arquivos locais e, se forem diferentes, baixa e descompacta a compilação atualizada.
Atualmente, a md5sum
verificação acontece seguida de uma comparação dos md5s de cada build.scp [email protected] /path/to/builds/*.md5 .
99% do tempo de execução do script é scp
(mesmo que leve apenas alguns segundos). Estou procurando otimizar essa transferência de dados tanto quanto possível. A solicitação vem de servidores que estão na lista de permissões (ou podem estar, se a solução tiver sua própria porta), e os dados em si não têm sentido de qualquer maneira, então não preciso me preocupar com autenticação ou criptografia. Acredito que isso scp
foi usado por conveniência pelo meu antecessor, quando havia muito menos servidores, versões e compilações.
Tenho acesso root total a todos os servidores, então posso fazer o que quiser. Qual seria a maneira mais rápida de obter os .md5
dados do servidor remoto? Podem ser os próprios arquivos ou o conteúdo dos arquivos (por exemplo, de cat /path/to/builds/*.md5
).
Obrigado!
Responder1
As opções que me vêm à mente são:
- Exporte o diretório com os arquivos MD5 via NFS ou SMB (Samba) e monte na máquina em que você estiver fazendo as comparações
- Execute um pequeno servidor web, por exemplo, lighttpd para servir os arquivos via HTTP
- Descubra como tornar o SCP mais rápido - não deve demorar "alguns segundos", a menos que você tenha problemas de DNS ou autenticação lenta por algum motivo
Eles pressupõem que você está fazendo isso em uma rede local e não na Internet; caso contrário, há considerações adicionais de segurança, mesmo que os arquivos sejam "sem sentido".