Vreau să rulez un mic fișier jar de monitorizare la fiecare 2 ore în mașina mea ubuntu.

java -jar mymonitoringtool.jar 

Nu știu cum să îl configurez.

Comentarii

  • cron este prietenul tău, pentru asta.
  • Ce trebuie să se întâmple în legătură cu trecerea la / de la ora de vară? Este foarte important ca lucrarea să se desfășoare la fiecare două ore și să nu i se permită să sară sau să adauge o oră pe atunci?
  • da, ar trebui să ruleze la fiecare două ore. Fără sărituri, cred că nu ar reprezenta efectiv 2 ore de monitorizare, mai degrabă mai puțin de 2 ore. Planificăm să rulăm câteva statistici despre acesta. Deci, durata este importantă.

Răspuns

Puteți configura un crontab cu următoarea expresie pentru cerințele dvs.

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

Mai întâi ar trebui să verificați eventualele joburi cron existente executând crontab -l.

Dacă nu faceți acest lucru aveți încă joburi cron, puteți pune a bove line într-un fișier text (spune my-cron-job.txt) și rulați crontab my-cron-job.txt pentru a-l activa. Apoi puteți verifica dacă lucrarea a fost adăugată executând încă o dată crontab -l.

Dacă aveți joburi cron existente, va trebui să rulați crontab -e și editați fișierul crontab. Acest lucru vă va cere să lucrați cu un editor de linie de comandă (vi, în mod implicit).

Daemonul cron setează doar un număr limitat variabilelor de mediu, deci este de preferat să specificați calea completă către executabilul java. De asemenea, va trebui să specificați calea completă către fișierul JAR executabil.

Presupun că doriți să colectați ieșirea din comanda java -jar, deci Am adăugat un fișier jurnal la comandă. Fluxurile de ieșire și erori de la comandă vor fi redirecționate către acest fișier jurnal, care va fi denumit cu un timestamp (monitor-2018Nov03-200000.log, de exemplu).

Odată ce totul este setat, ar trebui să monitorizați lucrarea cron pentru primele una sau două execuții. Dacă totul funcționează așa cum aveți nevoie, îl puteți lăsa să ruleze.


Ca referință externă , aici este o introducere despre joburile cron. Acest lucru ar trebui să vă ajute să înțelegeți cum funcționează de fapt programarea.

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

Răspuns

cron este programatorul de joburi intern al Linuxului. Vă ajută la programarea comenzii dvs. pentru a rula la un anumit interval sau data_time.

tastați crontab -e pe terminal

adăugați această linie 0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

salvați și ieșiți

Sintaxa Crontab după cum urmează

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

Minutul 0 la fiecare 2-oră în fiecare zi în fiecare lună în fiecare săptămână executați-această-comandă

Pentru mai multe opțiuni și informații: https://help.ubuntu.com/community/CronHowto

Comentarii

  • Este necesară calea / către / java dacă am configurat JAVA_HOME? Pot vedea că versiunea java funcționează în mașina mea.
  • nu este nevoie să adăugați calea dacă variabila de mediu (JAVA_HOME) este setat. Dar cumva, dacă variabila de mediu s-a încurcat, calea Java adăugată în cronjob a câștigat ' t frână

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *