Estou configurando um sistema que gera automaticamente trabalhos de computação em uma máquina local (Linux), copia-os para um cluster e os envia para o sistema de enfileiramento.
Eu tento evitar a necessidade de scripts que são executados no cluster (assim, há apenas um script e ele é executado onde posso depurá-lo).
Eu tenho meu authorized_keys
configurado, então depois de criar todos os arquivos necessários localmente, eu faço isso, a partir do diretório de casos local:
ssh cluster 'mkdir /home/user/casedir'
scp localdir/* cluster:/home/user/casedir/
ssh cluster 'qsub /home/user/casedir/run_script.sge'
... isso cria o diretório de casos no cluster, copia todos os arquivos de que preciso, mas falha na terceira linha, dizendo:
qsub: comando não encontrado
No entanto, se eu digitar interativamente ssh cluster
para obter um shell no cluster, digite o comando qsub, ele inicializará o job e será executado corretamente.
... o que estou errado aqui? O cluster está executando uma versão bastante antiga do Sun Grid Engine, caso isso seja relevante.
Eu acho que eu poderia produzir e copiar localmente um script bash que executaria o comando qsub no cluster, mas isso parece ser uma maneira muito indireta de fazer isso.