如何在Vagrant文件中运行sleep命令

如何在Vagrant文件中运行sleep命令,vagrant,vagrantfile,vagrant-provision,Vagrant,Vagrantfile,Vagrant Provision,我有一份流浪汉档案。一旦在运行vagrant时进入一个文件,rsync就会失败,导致实例变得无用(有时在目标AWS实例可用后,sshd进程会重新启动)。我想让流浪者rsync进程休眠约20秒,然后启动到目标实例的rsync。所以,不用担心sshd过程。我在Vagrant文件中尝试了以下命令,但没有成功(在rsync运行之前指定了以下命令)。有人能帮我吗 试验1: puts "Sleep for a while to keep SSH alive" sleep(20) 试验2: con

我有一份流浪汉档案。一旦在运行vagrant时进入一个文件,rsync就会失败,导致实例变得无用(有时在目标AWS实例可用后,sshd进程会重新启动)。我想让流浪者rsync进程休眠约20秒,然后启动到目标实例的rsync。所以,不用担心sshd过程。我在Vagrant文件中尝试了以下命令,但没有成功(在rsync运行之前指定了以下命令)。有人能帮我吗

试验1:

 puts "Sleep for a while to keep SSH alive"
 sleep(20)
试验2:

   config.vm.provision "shell", inline: "echo Sleep for a while to keep SSH alive;sleep 20" 
流浪汉档案:

Vagrant.configure(2) do |config|
 FOLDERS_TO_SYNC = {
      "." => "/folder1",
      "../folder2" => "/folder2"
  }

config.vm.provider "aws" do |aws, override|
.....
  override.vm.provision "shell", inline: "echo Sleep for a while to keep SSH alive; sleep 20"
  override.vm.synced_folder "folder1", "dest/folder1", type: "rsync", create: true
  override.vm.synced_folder "folder2", "dest/folder2", type: "rsync", create: true

  end

  config.vm.provision "chef_solo" do |chef|
...
end
结束


流浪汉1.8.1版

我做了类似的事情,对我来说,10秒是必要的

这是我档案中的一行

config.vm.provision "shell", inline: "cp #{host_sync_folder}/Resources/settings.xml /.m2 2>/dev/null || :; sleep 10"
我在你的试验2中看到,你在两个试验之间缺少了一个空白;和睡眠命令


请尝试一下并让我知道。

我做了类似的事情,对我来说10秒钟是必要的

这是我档案中的一行

config.vm.provision "shell", inline: "cp #{host_sync_folder}/Resources/settings.xml /.m2 2>/dev/null || :; sleep 10"
我在你的试验2中看到,你在两个试验之间缺少了一个空白;和睡眠命令

请试用并让我知道。

适用于Windows/PowerShell

config.vm.provision "shell", inline: "Start-Sleep -s 15"
为我工作,请参阅。

适用于Windows/PowerShell

config.vm.provision "shell", inline: "Start-Sleep -s 15"

对我有效,请参阅。

config.vm.provision对我无效。我们正在使用厨师供应。其中,提供程序的as是AWS(覆盖文件夹)。我试图在override.vm.synced_文件夹之前包含sleep命令。尝试了这个
override.vm.provision“shell”,内联:“echo Sleep一段时间以保持SSH活动;Sleep 20”
(但没有得到预期的结果)-我用一些不稳定的文件内容更新了我的帖子。请查收没有。它没有给出任何错误。config.vm.provision未按预期工作,但是override.vm.provision正在重写chef provision。我们正在运行vagrant命令,因为config.vm.provision不适用于我。我们正在使用厨师供应。其中,提供程序的as是AWS(覆盖文件夹)。我试图在override.vm.synced_文件夹之前包含sleep命令。尝试了这个
override.vm.provision“shell”,内联:“echo Sleep一段时间以保持SSH活动;Sleep 20”
(但没有得到预期的结果)-我用一些不稳定的文件内容更新了我的帖子。请查收没有。它没有给出任何错误。config.vm.provision未按预期工作,但是override.vm.provision正在重写chef provision。我们正在运行vagrant命令作为vagrant up--provider=aws | | vagrant providation(我们在vagrant文件中有两个不同的提供程序)