Tôi muốn Vagrant khởi động máy chủ Play trong thư mục / vagrant / mỗi khi tôi thực hiện. Đặt @reboot trên crontab không hoạt động vì tập lệnh chạy trước khi thư mục / vagrant / được kết nối.
Tôi muốn Vagrant khởi động máy chủ Play trong thư mục / vagrant / mỗi khi tôi thực hiện. Đặt @reboot trên crontab không hoạt động vì tập lệnh chạy trước khi thư mục / vagrant / được kết nối.
Câu trả lời:
Thay vì sử dụng crontab, bạn đã thử sử dụng Upstart chưa?
Vagrant phát ra một sự kiện "được gắn kết" khi thư mục dùng chung được gắn kết, do đó bạn có thể tạo một tệp conf upstart, giả sử /etc/init/play.conf
, để chạy khi sự kiện đó được phát ra:
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
làm việc tốt không?
start on vagrant-mounted
không hoạt động vì một số lý do. Không biết tại sao và không biết cách gỡ lỗi.
Tôi tìm thấy bằng cách sử dụng một nhà cung cấp mơ hồ riêng biệt với tùy chọn run : "always"
dễ dàng hơn nhiều, ví dụ:
config.vm.provision :shell, path: "yourStartUp.sh", run: "always", privileged: false
Xem https://docs.vagrantup.com/v2/provisioning/shell.html để biết tài liệu đầy đủ.
"always"
. Có lẽ điều này đã được gỡ bỏ trong một phiên bản mới hơn.
/bin/sh: 1: [: =: unexpected operator
, vì vậy tôi chỉ bỏ sót dòng đó.