Tôi muốn một tệp .jar chạy mỗi khi máy chủ khởi động (chúng tôi đang sử dụng VPS), và vì vậy tôi đã chỉnh sửa crontab bằng cách sử dụng crontab -e
và sau đó thêm @reboot bash /home/bash/startserver.sh
. Nhưng tôi thậm chí đã không đi đến điểm mà kịch bản hoạt động cả.
Đây là kịch bản của tôi:
#!/bin/bash
screen -S bukkit
cd $HOME/server
java -jar bukkit.jar
Lý do tôi cần sử dụng screen
là vì khi tôi khởi động bukkit.jar, nó sẽ vào một bảng điều khiển nơi tôi có thể nhập thêm các lệnh cho chương trình đó (mặc dù tôi chắc chắn bạn đã quen thuộc với Minecraft và máy chủ của nó trên trang web này , haha), nhưng tôi cần có thể thực hiện các lệnh khác với quyền root và cho các chương trình khác trong khi nó đang chạy, và thậm chí đóng phiên PuTTY của tôi.
Vấn đề duy nhất là khi tập lệnh này được chạy, nó sẽ tạo ra một phiên màn hình, nhưng ID của nó không được liệt kê trong đó screen -ls
, vì ID trống. Thay vào đó, tôi phải đi /run/screen/S-root
tìm ID và sau đó sử dụng điển hình screen -X -S $name quit
trên nó.
Có thể điều này thậm chí không thể, hoặc có thể thực sự có một cách đơn giản hơn để làm điều này (tôi thích đơn giản hơn), nhưng tôi không thể hiểu tại sao điều này không hiệu quả. Và nếu điều này là có thể, liệu có thể tham gia lại một phiên với screen -S bukkit
khi chạy tập lệnh bash không? (Tôi đoán nhiều câu hỏi, nhưng cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn! (Dấu ngoặc đơn))