Jak używać Crontab do pliku Java w Linuksie

2

Jak mogę używać Crontab w Linuksie specjalnie dla programu Java? Chcę uruchomić skrypt MIS. Jak mogę to zrobić i jaka powinna być ścieżka?

Ritzz081
źródło

Odpowiedzi:

3

Zakładając, że ta aplikacja Java jest aplikacją konsolową, nie ma z natury nic specjalnego, co musisz zrobić, ponieważ jest to aplikacja Java.

Jeśli masz .classplik Java , uruchom aplikację w następujący sposób:

$ java HelloWorld

Jeśli masz .jarplik, uruchom aplikację w następujący sposób:

$ java -jar myapp.jar

Praca Crona

Aby uczynić jedną z powyższych metod zadaniem cron, po prostu dodaj je do skryptu Bash i umieść ten skrypt w jednym z wyznaczonych katalogów crontab lub po prostu dodaj powyższe polecenie do wpisu crontab.

Przykłady

  1. Tworzenie skryptu

    Oto skrypt myjavawrapper.bash.

    #!/bin/bash
    
    # Do any CLASSPATH stuff here
    $ java -jar myapp.jar
    

    Następnie umieść myjavawrapper.bashw jednym z katalogów zadań cron lub crontab systemu:

    $ ls -d1l /etc/cron*
    drwxr-xr-x. 2 root root 4096 Nov  1 23:58 /etc/cron.d
    drwxr-xr-x. 2 root root 4096 Nov  3 23:46 /etc/cron.daily
    -rw-r--r--  1 root root    0 Jun 29  2011 /etc/cron.deny
    drwxr-xr-x. 2 root root 4096 Oct  8  2011 /etc/cron.hourly
    drwxr-xr-x. 2 root root 4096 Dec 18  2010 /etc/cron.monthly
    

    -rw-r - r-- 1 root root 451 2 czerwca 12:10 / etc / crontab drwxr-xr-x. 2 root root 4096 12 sierpnia 2011 /etc/cron.weekly

  2. Dodaj wpis do /etc/crontab

    Dodaj taką linię do pliku crontab:

    */30  *  *  *  * root  (cd /path/to/class/file; java HellowWorld)
    

    Powyższe będzie działać java HelloWorldco 30 minut.

Powyższe to tylko 2 metody, nie są to jedyne metody. To tylko po to, aby dać ci kilka pomysłów i podejść do sposobu wykonania zadania. Istnieje kilka innych sposobów.

slm
źródło
1
Nie jestem pewien, czy 30 * * * *będzie uruchamiany co 30 minut. Czy to nie powinno */30 * * *tam być ? Myślę, że polecenie takie, jakie jest, zostanie uruchomione np. 01:30 02:30 03:30
Valentin Bajrami,
1
@ val0x00ff - dzięki, będziesz poprawny. To działa na 30 minut po godzinie. Naprawię.
slm