ฉันต้องการให้ Vagrant เริ่มต้นเซิร์ฟเวอร์ Play ใน / vagrant / โฟลเดอร์ทุกครั้งที่ฉันออกจากที่ทำงาน การวาง @reboot บน crontab จะไม่ทำงานเพราะสคริปต์จะทำงานก่อนที่โฟลเดอร์ / vagrant / จะเชื่อมต่อ
ฉันต้องการให้ Vagrant เริ่มต้นเซิร์ฟเวอร์ Play ใน / vagrant / โฟลเดอร์ทุกครั้งที่ฉันออกจากที่ทำงาน การวาง @reboot บน crontab จะไม่ทำงานเพราะสคริปต์จะทำงานก่อนที่โฟลเดอร์ / vagrant / จะเชื่อมต่อ
คำตอบ:
แทนที่จะลองใช้ crontab คุณลองใช้งานพุ่งพรวดหรือไม่?
Vagrant ส่งเสียงเหตุการณ์ "เมานต์ที่มีผู้ติดตั้ง" เมื่อมีการติดตั้งโฟลเดอร์ที่ใช้ร่วมกันดังนั้นคุณสามารถสร้างไฟล์ 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
ไม่ทำงานด้วยเหตุผลบางอย่าง ไม่ทราบสาเหตุและไม่ทราบวิธีแก้ไขข้อบกพร่องทั้งหมด
ฉันพบว่าใช้ตัวจัดสรรคนพเนจรแยกต่างหากพร้อมตัวเลือก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
ดังนั้นฉันจึงไม่ใส่เครื่องหมายบรรทัดนั้น