Ik wil elke 2 uur een klein monitoring jar-bestand uitvoeren op mijn ubuntu-machine.

java -jar mymonitoringtool.jar 

Ik weet niet hoe ik het moet instellen.

Reacties

  • cron is hiervoor je vriend.
  • Wat moet er gebeuren rond het overschakelen van / naar zomertijd? Is het erg belangrijk dat de taak elke twee uur wordt uitgevoerd en mag er dan geen uur worden overgeslagen of toegevoegd?
  • ja, het zou om de twee uur moeten draaien. Niet overslaan denk ik, omdat het niet effectief zou zijn als 2 uur monitoring in plaats van minder dan 2 uur. We zijn van plan er wat statistieken over uit te voeren. De duur is dus van belang.

Antwoord

U kunt een crontab opzetten met de volgende uitdrukking voor uw vereisten.

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

U moet eerst controleren op bestaande cron-taken door crontab -l uit te voeren.

Als u dat niet doet nog cron-jobs hebben, kunt u de a regel boven in een tekstbestand (zeg my-cron-job.txt) en voer crontab my-cron-job.txt uit om het te activeren. U kunt vervolgens controleren of de taak is toegevoegd door crontab -l nogmaals uit te voeren.

Als u bestaande cron-taken heeft, moet u crontab -e en bewerk het crontab-bestand. Hiervoor moet u werken met een opdrachtregel-editor (standaard vi).

De cron-daemon stelt slechts een beperkt aantal in van omgevingsvariabelen, dus het verdient de voorkeur om het volledige pad naar het Java-uitvoerbare bestand op te geven. U zult ook het volledige pad naar uw uitvoerbare JAR-bestand moeten specificeren.

Ik neem aan dat u de uitvoer wilt verzamelen van het java -jar commando, dus Ik heb een logbestand aan de opdracht toegevoegd. De uitvoer- en foutstromen van de opdracht worden omgeleid naar dit logbestand, dat een naam krijgt met een tijdstempel (bijvoorbeeld monitor-2018Nov03-200000.log).

Zodra alles is ingesteld, moet u de cron-taak controleren voor de eerste een of twee uitvoeringen. Als alles werkt zoals u nodig hebt, kunt u het laten draaien.


Als externe referentie , hier is een inleiding over cron-banen. Dit zou u moeten helpen begrijpen hoe de planning werkelijk werkt.

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

Answer

cron is de interne taakplanner van Linux. Het helpt bij het plannen van uw opdracht om op een bepaald interval of datum_tijd uit te voeren.

typ crontab -e op de terminal

voeg deze regel toe 0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar

opslaan en afsluiten

Crontab-syntaxis als volgt

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

0e minuut elk 2 uur elke dag elke maand elke weekdag run-this-commando

Voor meer opties en informatie: https://help.ubuntu.com/community/CronHowto

Opmerkingen

  • Is pad / naar / java vereist als ik JAVA_HOME heb ingesteld? Ik kan zien dat java -version werkt op mijn computer.
  • Dit is niet nodig pad toevoegen als omgevingsvariabele (JAVA_HOME) is ingesteld. Maar op de een of andere manier, als de omgevingsvariabele een fout maakte, won het toegevoegde Java-pad in cronjob ' t rem

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *