Apenas use nohup:
$ ssh [email protected] "nohup complexscript.sh > mylog 2>&1 &"
Estou executando trabalhos em um servidor remoto usando torque. Eu atualmente tenho um problema chato.
Quando executo meus trabalhos, isso é o que eu faço atualmente:
ssh
no servidor remoto, como ssh [email protected]
Aqui eu executo meu script de trabalho sh verycomplicatedrunscript.sh
, que ecoa para o usuário algo como:
I am now running job 1...
I am now running job 2...
I am now running job 3...
I am now running job 4...
apenas para mostrar que está sendo executado e o que está sendo executado.
O único problema é que isso leva vários dias, pois os trabalhos são um pouco grandes e existem milhares deles.
Agora, gostaria de ignorar a etapa Teamviewer e apenas ssh
no controle remoto do meu próprio computador. Mas se eu fizer isso, e executar o script de meus trabalhos, feche o terminal; mata o processo (por isso, atualmente estou executando-o no outro computador, o qual posso deixar funcionando por dias, deixando o terminal aberto).
Existe alguma maneira de executar o script no servidor remoto e, em seguida, efetuar o logout sem que ele mate o script de execução do meu trabalho?
Obrigado
SOLUÇÃO
Acabei usando a opção screen
, que é francamente incrível.
Meus trabalhos agora estão sendo executados com
screen sh awesomejobscript.sh option1 option2 option3
Apenas use nohup:
$ ssh [email protected] "nohup complexscript.sh > mylog 2>&1 &"
Existem muitas soluções, além da acima;
screen sh jobscript.sh op1 op2 op3
funciona muito bem também.