ฉันต้องการไฟล์ขวดที่จะทำงานทุกครั้งที่รองเท้าเซิร์ฟเวอร์ขึ้น (เรากำลังใช้ VPS) และดังนั้นผมจึงได้แก้ไข crontab ใช้แล้วเพิ่มcrontab -e
@reboot bash /home/bash/startserver.sh
แต่ฉันไม่ได้ไปถึงจุดที่สคริปต์ทำงานเลย
นี่คือสคริปต์ของฉัน:
#!/bin/bash
screen -S bukkit
cd $HOME/server
java -jar bukkit.jar
เหตุผลที่ฉันต้องใช้screen
คือเมื่อฉันเริ่ม bukkit.jar มันจะเข้าสู่คอนโซลที่ฉันสามารถป้อนคำสั่งเพิ่มเติมสำหรับโปรแกรมนั้นได้ (ฉันแน่ใจว่าคุณคุ้นเคยกับ Minecraft และเซิร์ฟเวอร์ในไซต์นี้แล้วก็ตาม ฮ่าฮ่า) แต่ฉันต้องสามารถทำคำสั่งอื่น ๆ ในฐานะรูทและสำหรับโปรแกรมอื่น ๆ ในขณะที่มันกำลังทำงานอยู่และปิดเซสชัน PuTTY ของฉันด้วย
ปัญหาเดียวก็คือว่าเมื่อสคริปต์นี้จะดำเนินการจะสร้างเซสชั่นหน้าจอ แต่มัน ID ไม่ได้ระบุไว้ในscreen -ls
ขณะที่ประชาชนจะว่างเปล่า แต่ฉันต้องไป/run/screen/S-root
หารหัสแล้วใช้รหัสทั่วไปscreen -X -S $name quit
กับมัน
บางทีนี่อาจเป็นไปไม่ได้หรืออาจมีวิธีที่ง่ายกว่าในการทำเช่นนี้ (ฉันจะรักง่ายกว่า) แต่ฉันไม่สามารถเข้าใจได้ว่าทำไมสิ่งนี้ถึงไม่ทำงาน และถ้าเป็นไปได้มันเป็นไปได้ที่จะเข้าร่วมเซสชันด้วยscreen -S bukkit
เมื่อรันสคริปต์ทุบตี? (คำถามหลายข้อฉันเดา แต่ขอบคุณมากสำหรับความช่วยเหลือของคุณ! (วงเล็บ))