Voglio che un file .jar venga eseguito ogni volta che il server si avvia (stiamo usando un VPS), quindi ho modificato crontab usando crontab -ee poi aggiungendo @reboot bash /home/bash/startserver.sh. Ma non sono nemmeno arrivato al punto in cui la sceneggiatura funziona affatto.
Ecco la mia sceneggiatura:
#!/bin/bash
screen -S bukkit
cd $HOME/server
java -jar bukkit.jar
Il motivo che devo usare screenè perché quando avvio bukkit.jar, entra in una console in cui posso inserire più comandi per quel programma (sono sicuro che tutti conoscete Minecraft e i suoi server su questo sito, sebbene , haha), ma devo essere in grado di eseguire altri comandi come root e per altri programmi mentre è in esecuzione, e persino chiudere la mia sessione PuTTY.
L'unico problema è che quando viene eseguito questo script, crea una sessione dello schermo, ma il suo ID non è elencato screen -ls, poiché l'ID è vuoto. Piuttosto, devo andare per /run/screen/S-roottrovare l'ID e quindi utilizzare il tipico screen -X -S $name quitsu di esso.
Forse questo non è nemmeno possibile, o forse c'è davvero un modo più semplice per farlo (mi piacerebbe più semplice), ma non riesco a capire perché questo non funziona. E se questo è possibile, è possibile ricongiungersi a una sessione screen -S bukkitquando si esegue uno script bash? (Molteplici domande, immagino, ma grazie mille per il vostro aiuto! (Parentesi))