Vagrant는 내가 vagrant 할 때마다 / vagrant / 폴더에서 Play 서버를 시작하기를 원합니다. / vagrant / 폴더가 연결되기 전에 스크립트가 실행되므로 crontab에 @reboot를 넣을 수 없습니다.
Vagrant는 내가 vagrant 할 때마다 / vagrant / 폴더에서 Play 서버를 시작하기를 원합니다. / vagrant / 폴더가 연결되기 전에 스크립트가 실행되므로 crontab에 @reboot를 넣을 수 없습니다.
답변:
crontab을 사용하는 대신 Upstart를 사용해 보셨습니까 ?
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 ...
start on vagrant-mounted MOUNTPOINT=/vagrant
잘 작동?
start on vagrant-mounted
경우 어떤 이유로 작동하지 않습니다. 이유를 모르고 디버깅하는 방법을 모릅니다.
옵션과 함께 별도의 vagrant provisioner를 사용하는 run : "always"
것이 훨씬 쉽다 는 것을 알았습니다 .
config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false
전체 문서는 https://docs.vagrantup.com/v2/provisioning/shell.html 을 참조 하십시오 .
"always"
. 아마도 이것은 새로운 버전에서 제거되었을 것입니다.
/bin/sh: 1: [: =: unexpected operator
으므로 해당 줄의 주석을 해제했습니다.