Executa binários binários [fechados]

2

Eu tenho uma máquina Linux que eu possuo e administro (CLIENT). Eu tenho acesso a um servidor UNIX, sem privilégios administrativos (SERVIDOR).

Anteriormente, costumava copiar muitos arquivos desse servidor, processá-los no meu cliente e, em seguida, enviá-los de volta ao servidor.

Ultimamente, estou trabalhando remotamente e movimentando 5 ~ 10 Gb, muitas vezes ao dia; então essa abordagem não é mais uma opção.

Então, o que eu quero fazer é:

  1. ( opcional, se você tiver uma idéia melhor ) transfira um binário (compilado para esse Unix, eu tenho a maior parte de então, mas uma referência para compilação cruzada pode ser útil)
  2. execute meus binários contra esses arquivos, no SERVER (usando seu poder de computação e memória, já que as tarefas são enormes).
  3. salve os resultados no servidor (com um redirecionamento "> arquivo.txt")
  4. não deixe ( ou instale ) esses aplicativos no servidor.

Como esse tipo de resultado pode ser realizado?

Abaixo de alguns fundos adicionais.

Neste servidor específico, há um longo processo para solicitar e quase certamente não ser concedida autorização para instalar novos programas. Acredite-me eu tentei. Uma das questões levadas em consideração para este pedido foi "como este trabalho será feito sem este software?", Ao qual minha resposta foi "Eu tenho feito isso em minha estação de trabalho com cópias dos arquivos", ao qual eles responderam "então continue trabalhando dessa maneira."

Desde que comecei essa análise pelo UNIX, os resultados são ótimos para o negócio principal; então a demanda está aumentando. Consegui manter uma solução escalável que está funcionando bem. Mas as transferências são uma grande preocupação agora.

Eu posso perder minha capacidade de trabalhar em casa se essa análise não puder mais ser feita.

    
por Rafareino 03.03.2014 / 20:02

1 resposta

3

Para executar seu programa no servidor, você precisará ter o programa instalado lá. Você não precisa de privilégios de administrador para fazer isso, mas precisará de acesso remoto ao shell para realmente executar o programa. Seu quarto requisito para não deixar ou instalar software no servidor torna sua proposta impossível. Se você quiser fazer o processamento no servidor, precisará ter seu código em execução.

Você tem dois métodos para colocar seu programa no servidor

  1. Copie sua fonte para o servidor e compile no servidor (mais fácil)
  2. Cross-compile para o servidor em sua máquina doméstica e copie os binários resultantes sobre (mais)

Você menciona que não pode instalar software no servidor e que "tentou", mas o que exatamente você tentou? É comum que o único lugar que você pode escrever seja seu $HOME e que as opções de instalação padrão para /usr ou /usr/local/ ou /opt falharão, mas isso não é um problema. Você pode instalar os programas necessários em seu $HOME , por exemplo. $HOME/bin e, em seguida, modifique a inicialização do shell (por exemplo, .bashrc ) para adicionar os caminhos necessários para $PATH e $LD_LIBRARY_PATH , para que você possa executar o programa instalado lá.

Contanto que você não tenha uma cota de disco (ou seja grande o suficiente), você não deve ter problemas ao instalar todo o seu fluxo de trabalho de análise em seu diretório pessoal e executar o código remotamente.

    
por 03.03.2014 / 20:17