Executando o Linux Script do Windows em backgound

1

Estou usando o seguinte script da minha máquina windows para rodar em linux e fazer backup.

@ECHO off
:: run remote command
plink.exe username@myserver /home/username/do-backup.sh

O problema com este script é que, eu tenho que manter minha sessão ao vivo. como backup leva 30 minutos ou mais, então eu quero saber se existe alguma maneira eu executar este script e depois que o comando de backup continua trabalhando mesmo se eu desligar meu sistema. ou você pode dizer que eu executo meu arquivo de lote que vai para o servidor, executa o script no servidor e depois retorna enquanto o script de backup continua rodando no servidor.

    
por Kashif 24.04.2012 / 23:22

2 respostas

1

Sou fã de,

plink.exe username@myserver "echo /home/username/do-backup.sh | at now + 1 min"

que dirá ao servidor remoto para iniciar o script em 1 minuto.

Observe que, como isso está executando o script por meio do planejador, talvez seja necessário garantir que o script configure o ambiente corretamente, pode não ser exatamente o mesmo ambiente de quando é executado em uma sessão interativa.

    
por 25.04.2012 / 13:17
2

Se você usar nohup em sua linha de comando, o script continuará sendo executado mesmo que a sessão termine. Então, mudando seu comando para algo como

plink.exe username@myserver nohup /home/username/do-backup.sh

Deve fazer isso.

    
por 24.04.2012 / 23:26