ssh comando em segundo plano

0

Por favor, ajude a seguir.

Estou fazendo ssh user@server "source script.csh" do meu servidor inicial

Suponhamos que script.csh contenha 10 comandos:

  • O primeiro ao terceiro comando é executado instantaneamente

  • O 4º comando leva de 10 a 12 horas para ser concluído

  • O quinto ao décimo comando também é executado instantaneamente

  • O último comando copia os dados de volta para o servidor inicial.

Eu quero manter o shell do servidor remoto por 10-12 horas. Também quero que os comandos sejam executados sequencialmente. Vou continuar monitorando os arquivos para voltarem no servidor de casa para saber a conclusão do meu script no servidor remoto.

Como posso conseguir isso?

    
por Saurabh Varshney 30.08.2017 / 18:39

1 resposta

2

Você pode usar screen para executar algo em segundo plano para poder fechar a conexão SSH. Não estou familiarizado com csh , mas a ligação seria assim:

ssh user@server "screen -S longrunscript csh -c 'source script.csh'"

O -S longrunscript dá um nome à sessão de tela para que você possa anexar facilmente a ela (mesmo se houver outras sessões de tela ao redor) usando screen -x longrunscript .

    
por 30.08.2017 / 18:50