Puncte:0

Nu se poate obține cron pentru a deschide fișierul Jar

drapel ar

Rulez un server minecraft pe ubuntu 20.04. Am un script pentru a-l executa și funcționează bine. Cu toate acestea, nu îl pot face să funcționeze @reboot cu cron, deoarece nu poate găsi fișierul jar. Din ceea ce am cercetat, se pare că cron nu rulează cu utilizatorul meu (deși nu folosesc sudo). Care sunt opțiunile mele?

Acesta este crontab-ul meu -e:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

00 01 * * * /home/eggzaile/minecraft/backup.sh 2>>&1 

@reboot sleep 45 && /usr/bin/screen -dmS minecraft sh -c '/home/eggzaile/minecraft/start.sh; exec bash' 2>>&1

după repornire și cron, când mă atașez la acea fereastră... tot ce văd este eroarea de a nu găsi fișierul jar.

acesta este scriptul în sine:

    #!/bin/sh
în timp ce adevărat
do
java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=Max -XX:GPercent=30 -XX:GPercent=30 -XX:GPercent :G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1MixedGCCountTarget -PauseetUp=G1RS:G1R:XXV:G1: PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper-1.16.5-778.jar nogui
somn 5
Terminat

Am văzut undeva că folosirea căii complete pe script ar trebui să funcționeze, dar asta o întrerupe, am încercat. Am folosit (java -jar /path/to/server.jar și toate argumentele de aici), dar se pare că nu ar trebui să schimb ordinea.

Orice sfaturi?

Michael Hampton avatar
drapel cz
Exact cum executați scriptul care funcționează?
eggzaile avatar
drapel ar
@MichaelHampton doar executând „sh start.sh” funcționează. Cu toate acestea, deschid întotdeauna un ecran mai întâi, pentru a-l menține să ruleze în fundal „ecran -S minecraft”
Puncte:0
drapel cz

Scriptul tău bash nu s-a schimbat în directorul care conține fișierele jar. De aceea scriptul tău bash nu funcționează. Dar ați schimbat directorul când l-ați pornit manual.

Editați scriptul bash pentru a trece în directorul corespunzător înainte de a apela java.

eggzaile avatar
drapel ar
Mulțumesc că m-ați ajutat! Mi-am schimbat scriptul: cd /home/eggzaile/minecraft && java cu toate acestea, nu se întâmplă nimic acum, nu începe la repornire :s
eggzaile avatar
drapel ar
Doar pentru a fi clar, stând în directorul de acasă (nu unde este scriptul), executând linia cronjob, funcționează: /usr/bin/screen -dmS minecraft sh -c '/home/eggzaile/minecraft/start.sh; exec bash' Nu funcționează totuși la repornire
eggzaile avatar
drapel ar
De asemenea, nu-mi pot da seama de ce nu face nimic prin jurnalele: 26 iunie 09:56:06 homelabs CRON[860]: (eggzaile) CMD (sleep 60 && /usr/bin/screen -dmS minecraft sh -c '/home/eggzaile/minecraft/start.sh; exec bash' 2> >&1) 26 iunie 09:56:06 homelabs CRON[775]: (CRON) informații (Fără MTA instalat, renunțarea la ieșire)
eggzaile avatar
drapel ar
Nu contează, funcționează!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.