我有一个Vagrant文件。在运行vagrant时进入文件,rsync失败并且生成的实例变得无用(有时sshd进程在目标AWS实例可用后重新启动)。我想睡眠流浪汉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"
Vagrantfile:
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
端
Vagrant v1.8.1
答案 0 :(得分:0)
我做了类似的事,在我的情况下需要10秒钟。
这是我的Vagrantfile中的一行。
config.vm.provision "shell", inline: "cp #{host_sync_folder}/Resources/settings.xml /.m2 2>/dev/null || :; sleep 10"
我在你的审判2中看到,你之间缺少一个空的空间;和睡眠命令。
请尝试一下,让我知道。
答案 1 :(得分:0)