Jag vill köra en liten övervakningsburkfil varannan timme i min ubuntu-maskin.
java -jar mymonitoringtool.jar
Jag vet inte hur jag ställer in den.
Kommentarer
- cron är din vän för detta.
- Vad måste hända med att byta till / från sommartid? Är det mycket viktigt att jobbet körs varannan timme och inte får hoppa över eller lägga till en timme då?
- ja, det ska köras varannan timme. Ingen hoppning antar jag, eftersom det inte skulle fungera effektivt representerar två timmars övervakning snarare än två timmar. Vi planerar att köra lite statistik om det. Så varaktigheten är viktig.
Svar
Du kan ställa in en crontab med följande uttryck för dina krav.
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 söka efter befintliga cron-jobb genom att köra crontab -l
.
Om du inte gör det har några cron jobb ännu, kan du sätta a bove line i en textfil (säg my-cron-job.txt) och kör crontab my-cron-job.txt
för att aktivera den. Du kan sedan verifiera att jobbet har lagts till genom att köra crontab -l
en gång till.
Om du har befintliga cron-jobb måste du köra crontab -e
och redigera crontab-filen. Detta kräver att du arbetar med en kommandoradsredigerare (vi, som standard).
Cron-demon ställer bara in ett begränsat antal av miljövariabler, så det är att föredra att ange hela sökvägen till Java-körbar. Du måste också ange hela sökvägen till din körbara JAR-fil.
Jag antar att du vill samla utdata från java -jar
-kommandot, så Jag har lagt till en loggfil i kommandot. Utdata- och felströmmarna från kommandot kommer att omdirigeras till den här loggfilen, som kommer att namnges med en tidsstämpel (monitor-2018Nov03-200000.log, till exempel).
När allt är inställt bör du övervaka cron-jobbet för den första eller två avrättningarna. Om allt fungerar som du behöver kan du sedan låta det gå.
Som extern referens , här är en introduktion om cronjobb. Detta ska hjälpa dig att förstå hur schemaläggningen faktiskt fungerar.
https://www.howtoforge.com/a-short-introduction-to-cron-jobs
Svar
cron är Linux interna jobbschemaläggare. Det hjälper till att schemalägga ditt kommando att köra vid ett visst intervall eller datum_tid.
typ
crontab -e
på terminalenlägg till den här raden
0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
spara och avsluta
Crontab Syntax enligt följande
00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
0: e minut varannan timme varje dag varje månad varje veckodag kör-detta-kommando
För fler alternativ och information: https://help.ubuntu.com/community/CronHowto
Kommentarer
- Krävs sökväg / till / java om jag har JAVA_HOME? Jag kan se java -version fungerar i min maskin.
- inget behov av lägg till sökväg om miljövariabel (JAVA_HOME) är inställd. Men på något sätt om miljövariablen trasslat tillkom Java-sökväg i cronjob ' t broms