Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: HannuTapio - 25.07.19 - klo:17.25

Otsikko: Java palvelinohjelman käynnistäminen ja consolit ja errorit ?
Kirjoitti: HannuTapio - 25.07.19 - klo:17.25
Hei,

Minulla on VPS palvelimessa, Java palvelinohjelma https websocket socketeille.

Olen osannut rakentaa toimivan kokonaisuuden, mutta, vielä pitäisi hieman säätää.

Minulla on seuraava käynnistys rivi palvelinohjelmaan.

Koodia: [Valitse]
java -jar -Xms555m -Xmx1234m PalvelinOhjelma.jar >> console.log 2>> error.log &

Tuo ohjaa console.log tiedostoon consoli ilmoitukset, ja error.log tiedostoon virheilmoitukset.

Kuinka tulisi tuota riviä muuttaa, niin, että, nuo console ja error fileet, olisi nimetty myös päiväyksen ja tunnin mukaan.

Eli kuten 2019_07_24_17_console.log ja vielä kuten 2019_07_24_17_error.log.

Olisi mukava jos fileet eivät milloinkaan keräisi yli tuntia tietoa.

:) :) :)

--
Otsikko: Vs: Java palvelinohjelman käynnistäminen ja consolit ja errorit ?
Kirjoitti: Tomin - 25.07.19 - klo:18.06
Ei taida olla sellaista komentoa, joka tuon osaisi noin hienosti ohjata. Toki päiväyksen saa date-komennolla eli tämä kirjoittaisi tiedostoon, joka on käynnistyshetken mukainen:
Koodia: [Valitse]
java -jar -Xms555m -Xmx1234m PalvelinOhjelma.jar >> console_$(date -Ihours).log 2>> error_$(date -Ihours).log &Kuitenkin tuo on käynnistettävä joka tunti uudestaan, jos haluaa sen vaihtavan tiedostoa joka tunti. Jättämällä hours-sanan pois nimeen tulee vain päivä.

Ehdottaisin ratkaisuksi systemd-yksikköä sille palvelulle, jolloin lokit tallentuvat journaliin. Niitä voi sitten lukea journalctl --unit=palvelinohjelma.service tai vastaavalla komennolla riippuen ihan siitä miten nimeät yksikkötiedoston.

Koodia: [Valitse]
[Unit]
Description=Java palvelinohjelma

[Service]
ExecStart=java -jar -Xms555m -Xmx1234m PalvelinOhjelma.jar

Olen näköjään joskus sitä ehdottanut:
https://forum.ubuntu-fi.org/index.php?topic=53148.msg406998#msg406998
Tuosta ohjeesta puuttuu enablen komentaminen (sama kuin käynnistykselle, mutta start sanan sijaan enable).