Haluan suorittaa pienen seurantatiedostotunnin joka toinen tunti ubuntu-koneessani.
java -jar mymonitoringtool.jar
En tiedä miten se asetetaan.
Kommentit
- cron on ystäväsi.
- Mitä tapahtuu, kun siirrytään kesäaikaan? Vai onko erittäin tärkeää, että työ suoritetaan kahden tunnin välein eikä sen saa ohittaa tai lisätä tunti sitten?
- kyllä, sen pitäisi olla käynnissä joka toinen tunti. Ei ohitusta, luulisin, koska se ei olisi tehokasta, se merkitsisi 2 tunnin seurantaa alle 2 tunnin ajan. Aiomme tehdä siitä joitain tilastoja. Joten kesto on tärkeää.
vastaus
Voit määrittää tarpeidesi mukaan seuraavan lausekkeen sisältävän välilehden.
0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar &> path/to/monitor-$(date "+%Y%b%d-%H%M%S").log
Tarkista ensin olemassa olevat cron-työt suorittamalla crontab -l
.
Jos et ”t sinulla on vielä cron-töitä, voit laittaa a bove rivi tekstitiedostossa (sano my-cron-job.txt) ja aktivoi se suorittamalla crontab my-cron-job.txt
. Tämän jälkeen voit tarkistaa, että työ on lisätty suorittamalla uudelleen crontab -l
.
Jos sinulla on jo cron-töitä, sinun on suoritettava crontab -e
ja muokkaa crontab-tiedostoa. Tämä edellyttää, että työskentelet komentorivieditorin kanssa (vi oletusarvoisesti).
Cron-demoni asettaa vain rajoitetun määrän ympäristömuuttujista, joten on parempi määrittää täysi polku java-suoritettavaan tiedostoon. Sinun on myös määritettävä suoritettavan JAR-tiedoston täydellinen polku.
Oletan, että haluat kerätä lähdön komennosta java -jar
, joten Olen lisännyt komentoon lokitiedoston. Komennon lähtö- ja virtavirrat ohjataan tähän lokitiedostoon, joka nimetään aikaleimalla (esimerkiksi monitor-2018Nov03-200000.log).
Kun kaikki on asetettu, sinun tulee seurata cron-työtä ensimmäisten tai kahden suorituksen osalta. Jos kaikki toimii kuten tarvitset, voit jättää sen toimimaan.
Ulkoisena viitteenä , tässä johdanto cron-työpaikoista. Tämän pitäisi auttaa sinua ymmärtämään, miten ajoitus todella toimii.
https://www.howtoforge.com/a-short-introduction-to-cron-jobs
Vastaus
cron on Linuxin sisäinen työn ajastin. Se auttaa ajastamaan komennon suorittamaan tietyllä aikavälillä tai päivämäärän kellonaikalla.
type
crontab -e
päätelaitteessalisää tämä rivi
0 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
tallenna ja poistu
Crontabin syntaksi seuraavasti
00 */2 * * * path/to/java -jar path/to/mymonitoringtool.jar
0. minuutin joka toinen tunti joka päivä joka kuukausi joka arkipäivä run-this-command
Lisää vaihtoehtoja ja tietoja: https://help.ubuntu.com/community/CronHowto
Kommentit
- Tarvitaanko polku / to / java, jos minulla on asennusohjelma JAVA_HOME? Näen koneessani java-version toiminnot.
- ei tarvitse lisää polku, jos ympäristömuuttuja (JAVA_HOME) on asetettu. Mutta jotenkin, jos ympäristömuuttuja sekoittuu, lisätty Java-polku cronjobissa voitti ' t jarruttaa