O Vagrant executa comandos de longa execução via ssh ou via provisionamento

0

Eu tenho um script que certamente levará muito tempo para ser executado. Eu tenho uma instalação multi-máquina. Na inicialização (preferencialmente), gostaria de ter o script em execução em cada uma das máquinas. No entanto, gostaria de fazer isso de forma assíncrona.

Alternativamente eu poderia executar o ssh vagante para cada máquina.

No primeiro caso, adiciono o arquivo do Vagrant:

Vagrant.configure("2") do |config|
config.vm.provision "shell", run: "always", inline: 'bash /home/vagrant/shared_folder/script.sh  &'
...

No entanto, embora eu possa ver um processo em execução em cada convidado, ele não é executado.

Para o segundo caso:

vagrant ssh client5 -c "/home/vagrant/shared_folder/script.sh  & sleep 1"

O sono 1 é um "hack" sugerido em outro post. No entanto, ele é executado apenas uma vez e, em seguida, sai.

O conteúdo do script é:

while [ true ];
do
        rand='shuf -i 10-200 -n 1'
        curl "192.168.56.10/pages/"$rand"K.html"
        sleep 5
done

Quando executo o script de dentro do convidado, tudo funciona perfeitamente.

    
por dr.doom 06.07.2016 / 16:10

0 respostas