Chci v počítači ubuntu spustit každé 2 hodiny malý soubor sledování jar.

java -jar mymonitoringtool.jar 

Nevím, jak to nastavit.

Komentáře

  • za to je vaším přítelem cron.
  • Co se musí stát kolem přepnutí na / z letního času? Je velmi důležité, aby se úloha spouštěla každé dvě hodiny a nemělo povolené přeskočit nebo přidat hodinu?
  • ano, mělo by to běžet každé dvě hodiny. žádné přeskakování myslím, že by to nebylo efektivní, představovaly by to spíše 2 hodiny monitorování než méně než 2 hodiny. Plánujeme na tom spustit nějaké statistiky. Délka je tedy důležitá.

Odpověď

Pro své požadavky můžete nastavit crontab s následujícím výrazem.

0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log 

Nejprve byste měli zkontrolovat existující úlohy cron spuštěním crontab -l.

Pokud tak neučiníte máte ještě nějaké cron úlohy, můžete dát a přesuňte řádek do textového souboru (řekněme my-cron-job.txt) a aktivujte jej crontab my-cron-job.txt. Poté můžete ověřit, že byla úloha přidána dalším spuštěním crontab -l.

Pokud máte existující úlohy cron, budete muset spustit crontab -e a upravte soubor crontab. To vyžaduje práci s editorem příkazového řádku (ve výchozím nastavení vi).

Démon cron nastavuje pouze omezený počet proměnných prostředí, proto je lepší zadat úplnou cestu ke spustitelnému souboru Java. Budete také muset zadat úplnou cestu k spustitelnému souboru JAR.

Předpokládám, že chcete shromáždit výstup z příkazu java -jar, takže Do příkazu jsem přidal soubor protokolu. Výstupní a chybové toky z příkazu budou přesměrovány do tohoto souboru protokolu, který bude pojmenován časovým razítkem (například monitor-2018Nov03-200000.log).

Jakmile je vše nastaveno, měli byste sledovat úlohu cron pro první jednu nebo dvě spuštění. Pokud vše funguje tak, jak potřebujete, můžete to nechat spuštěné.


Jako externí reference , zde je úvod k úlohám cron. To by vám mělo pomoci pochopit, jak plánování ve skutečnosti funguje.

https://www.howtoforge.com/a-short-introduction-to-cron-jobs

Odpověď

cron je interní plánovač úloh Linuxu. Pomáhá při plánování spuštění vašeho příkazu v určitém intervalu nebo date_time.

zadejte crontab -e do terminálu

přidejte tento řádek 0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

uložit a ukončit

Syntaxe Crontab takto

00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar 

Každou 2. hodinu každou hodinu každý den každý měsíc každý měsíc každý den v týdnu run-this-command

Další možnosti a informace: https://help.ubuntu.com/community/CronHowto

Komentáře

  • Je vyžadována cesta / k / java, pokud mám nastavený JAVA_HOME? Vidím, že v mém počítači funguje java -version.
  • není třeba přidat cestu, pokud je proměnná prostředí (JAVA_HOME) je nastaven. Ale nějakým způsobem, pokud se proměnná prostředí pokazila, přidala se cesta java v cronjob ' t brzdy

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *