Como executar vários scripts na máquina remota

3

Eu tenho que conectar remotamente a um gateway (trabalhando na plataforma Linux), dentro do qual eu tenho alguns arquivos executáveis ( signingModule.sh e taxModule.sh ). Agora quero escrever um script na minha área de trabalho que se conectará a esse gateway e executará signingModule.sh e taxModule.sh em dois terminais diferentes.

Eu escrevi abaixo do código:

ssh [email protected] #to connect to gateway
sleep 5
cd /opt/swfiscal/signingModule #path of both modules
./signingModule #executable

mas através deste código eu consigo conectar meu gateway, mas depois de conectar ao gateway, nada está acontecendo.

segundo código:

source configPath # file where i have given path of both the modules(configPath is placed in local machine)
cd $FCM_SCRIPTS # variable in which i have stored the path of modules
ssh [email protected] 'sh -' < signingModule #to connect and run one module (signingModule is placed in remote machine)

Como resultado disso estou recebendo: source: configPath: file not found

Por favor me ajude a resolver isso. Agradecemos antecipadamente.

Nota:

  1. posso copiar e colar meus arquivos nesse gateway, se necessário.
  2. O Gnome-Terminal ou qualquer outra alternativa disso não está funcionando no meu gateway.
  3. Eu tenho que rodar todos os módulos (assinatura e impostos) em terminais diferentes, pois meu outro aplicativo funcionará somente quando esses dois módulos estiverem ativos. então, para fazê-los rodar simultaneamente, temos que executá-los em uma aba ou terminal diferente.
  4. Eu tenho que escrever um script na minha máquina local que irá executar os dois módulos (assinatura e impostos) que são colocados no gateway remoto. Então eu quero rodar esse script na minha máquina local que vai atingir os módulos do gateway.
por Siddharth Tiwari 12.10.2016 / 12:14

1 resposta

1

O erro que você obteve significa que o arquivo configPath não existe na pasta em que você executou o comando source configPath .

Supondo que:

  • o arquivo configPath contém as instruções: % bl0ck_qu0te%
  • Na pasta /path/on/remote/machine está presente um arquivo executável signingModule
  • o arquivo configPath está localizado na pasta /path/on/local/machine

Se essas suposições forem verdadeiras, você deve criar na máquina local um script simples /path/on/local/machine/remoteExecution.sh :

#!/bin/bash
cd $FCM_SCRIPTS
./signingModule

e tente:

cd /path/on/local/machine 
ssh [email protected] 'bash -s' < <(cat configPath remoteExecution.sh)

onde a opção -s significa que os comandos são lidos a partir da entrada padrão.

    
por Lety 13.10.2016 / 14:04