Tôi đang chạy máy chủ minecraft trên Ubuntu 20.04. Tôi có một kịch bản để thực thi nó và hoạt động tốt.
Tuy nhiên, tôi không thể làm cho nó hoạt động @reboot với cron, vì nó không thể tìm thấy tệp jar. Từ những gì tôi đã nghiên cứu, có vẻ như cron không chạy với người dùng của tôi (mặc dù tôi không sử dụng sudo). Những lựa chọn của tôi là gì?
Đây là crontab của tôi -e:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
00 01 * * * /home/eggzaile/minecraft/backup.sh 2>>&1
@reboot ngủ 45 && /usr/bin/screen -dmS minecraft sh -c '/home/eggzaile/minecraft/start.sh; exec bash' 2>>&1
sau khi khởi động lại và cron khởi động, khi tôi đính kèm vào cửa sổ đó ... tất cả những gì tôi thấy là lỗi không tìm thấy tệp jar.
đây là kịch bản chính nó:
#!/bin/sh
trong khi đúng
làm
java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX :G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+ PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper-1.16.5-778.jar nogui
ngủ 5
xong
Tôi đã ghi nhớ ở đâu đó rằng việc sử dụng đường dẫn đầy đủ trên tập lệnh sẽ hoạt động, nhưng điều đó đã phá vỡ nó, tôi đã thử. tôi đã sử dụng (java -jar /path/to/server.jar và tất cả các đối số ở đây), nhưng có vẻ như tôi không nên thay đổi thứ tự.
Có mẹo nào không?