Jeg vil kjøre en liten overvåkingsfil hver 2. time i min ubuntu-maskin.
java -jar mymonitoringtool.jar
Jeg vet ikke hvordan jeg skal sette den opp.
Kommentarer
- cron er din venn for dette.
- Hva må skje rundt å bytte til / fra sommertid? Er det veldig viktig at jobben kjøres annenhver time og ikke har lov til å hoppe over eller legge til en time rundt da?
- ja, den skal kjøre annenhver time. Ingen overspring antar jeg, da den ikke ville være effektiv, representerer 2 timer overvåking i stedet for mindre enn to timer. Vi planlegger å kjøre litt statistikk om den. Så varigheten er viktig.
Svar
Du kan sette opp en crontab med følgende uttrykk for dine behov.
0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log
Du bør først se etter eksisterende cron-jobber ved å kjøre crontab -l
.
Hvis du ikke gjør det har noen cron jobber ennå, kan du sette a bove line i en tekstfil (si my-cron-job.txt) og kjør crontab my-cron-job.txt
for å aktivere den. Du kan deretter bekrefte at jobben er lagt til ved å kjøre crontab -l
en gang til.
Hvis du har eksisterende cron-jobber, må du kjøre crontab -e
og rediger crontab-filen. Dette krever at du jobber med en kommandolinjeditor (vi, som standard).
Cron-demon stiller bare et begrenset antall av miljøvariabler, så det er å foretrekke å spesifisere hele banen til Java-kjørbar. Du må også spesifisere hele banen til den kjørbare JAR-filen.
Jeg antar at du vil samle utdata fra java -jar
-kommandoen, så Jeg har lagt til en loggfil i kommandoen. Utdata- og feilstrømmene fra kommandoen vil bli omdirigert til denne loggfilen, som vil bli navngitt med en tidsstempel (monitor-2018Nov03-200000.log, for eksempel).
Når alt er satt, bør du overvåke cron-jobben for den første eller to henrettelsene. Hvis alt fungerer som du trenger, kan du la den gå.
Som en ekstern referanse , her er en introduksjon om cron-jobber. Dette skal hjelpe deg med å forstå hvordan planleggingen faktisk fungerer.
https://www.howtoforge.com/a-short-introduction-to-cron-jobs
Svar
cron er Linuxs interne jobbplanlegger. Det hjelper med å planlegge kommandoen din for å kjøre med et bestemt intervall eller dato_tid.
type
crontab -e
på terminalenlegg til denne linjen
0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
lagre og gå ut
Crontab Syntax som følger
00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
0. minutt hver 2. time hver dag hver måned hver ukedag kjør denne kommandoen
For flere alternativer og informasjon: https://help.ubuntu.com/community/CronHowto
Kommentarer
- Er sti / til / java nødvendig hvis jeg har konfigurert JAVA_HOME? Jeg kan se java -versjon fungerer på maskinen min.
- ikke nødvendig legg til sti hvis miljøvariabel (JAVA_HOME) er satt. Men på en eller annen måte hvis miljøvariabelen ødela, la Java-banen i cronjob til ' t brems