Estou tentando executar alguns cálculos em um computador remoto. Basicamente eu quero copiar alguns arquivos para o computador, carregar um software, executar o cálculo e recuperar os dados. Eu criei uma conexão sem senha já para isso. Abaixo está minha tentativa:
%pre%
O script apenas copia os arquivos e efetua o login no computador remoto, mas nenhum cálculo é iniciado.
______ azszpr158431 ___
Não sei bem qual é a sua pergunta, mas tenho duas observações que são muito longas para um comentário:
-
Seu script atual irá parar quando você logar em %code% (na linha 4) e irá esperar que você faça algo interativamente - somente quando você sair o script prosseguirá (o que provavelmente não é o que você quer). / p>
Portanto, coloque qualquer coisa que deve ser executada no servidor remoto em um script de shell independente, scp-lo com o resto dos dados e execute-o com %code% .
Assim:
%pre%
substitua %code% / %code% com o que você precisar copiar para / do cluster - você provavelmente não deseja copiar de volta as entradas. Observe que o script mencionado como %code% precisa ser marcado como executável. Se mesmo isso não funcionar (porque o sistema de arquivos para o qual você está copiando está montado com a opção %code% , use %code% . Ou você pode simplesmente canalizá-lo para a máquina remota:
%pre%
2) Se você estiver executando isso em %code% (o que parece que você é), você pode se livrar de uma direção de conexão scp executando o %code% on %code% novamente.
______ azszpr158433 ___
Sugiro que você tenha seu script em sua casa para execução remota e, em seguida, chame seu script como
%pre%
Basicamente, a partir do seu script com acesso sem senha, após %code% , o script não está sendo executado. Isso poderia ser facilmente testado.
Teste
Tenha estas duas linhas em um script e tente executar o script em sua máquina local.
%pre%
Normalmente, estaríamos esperando que ele imprimisse o nome da máquina remota desde que tenhamos ssh. Mas esse não é o caso. Ele apenas efetua login na máquina remota e, quando você %code% sai da máquina remota, somente ele imprimirá o nome do host ( Certifique-se de verificar o nome do host que está sendo impresso, seria imprimir o local nome do host da máquina ).
Agora, como sugeri, se você tiver seu roteiro em sua casa local e chamá-lo como
%pre%
A saída, neste caso, é o nome da máquina host remota ( Certifique-se de remover a linha ssh do script, pois isso é inútil agora ).
______ azszpr158430 ___
Basicamente, você espera que seu script continue na máquina remota, o que não acontecerá, eles serão executados em sua máquina local. Para conseguir o que você quer, você precisará passar a série de comandos para a máquina remota através do ssh.
Você pode ler este guia para ter uma ideia: link
___