我希望每次执行 vagrant up 时,Vagrant 都会在 /vagrant/ 文件夹中启动 Play 服务器。将 @reboot 放在 crontab 上不起作用,因为脚本在连接 /vagrant/ 文件夹之前运行。
答案1
除了使用 crontab,你还尝试过使用暴发户?
当共享文件夹被挂载时,Vagrant 会发出“vagrant-mounted”事件,因此您可以创建一个 upstart conf 文件,比如说/etc/init/play.conf
,在发出该事件时运行:
description "Play server"
start on vagrant-mounted
pre-start script
[ "$MOUNTPOINT" == "/vagrant" ] || stop
end script
... rest of config file for starting Play server ...
答案2
我发现使用带有选项的单独 vagrant provisionerrun : "always"
要容易得多,例如:
config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false
看https://docs.vagrantup.com/v2/provisioning/shell.html以获取完整文档。