Vagrant 通过 ssh 或通过配置执行长时间运行的命令

Vagrant 通过 ssh 或通过配置执行长时间运行的命令

我有一个脚本,它肯定会花很长时间才能执行。我有一个多台计算机安装。在启动时(最好),我希望让脚本在每台计算机上运行。但是,我想异步执行此操作。

或者,我可以为每台机器执行 vagrant ssh。

在第一种情况下,我添加了 Vagrant 文件:

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

然而,虽然我可以看到每个客户机上运行一个进程,但它并没有执行。

对于第二种情况:

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

sleep 1 是另一篇文章中建议的“黑客攻击”。但它只运行一次,然后就退出了。

脚本内容如下:

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

当我从客户端内部执行脚本时,一切都运行正常。

相关内容