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?
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 .class
plik Java , uruchom aplikację w następujący sposób:
$ java HelloWorld
Jeśli masz .jar
plik, uruchom aplikację w następujący sposób:
$ java -jar myapp.jar
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.
Tworzenie skryptu
Oto skrypt myjavawrapper.bash
.
#!/bin/bash
# Do any CLASSPATH stuff here
$ java -jar myapp.jar
Następnie umieść myjavawrapper.bash
w 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
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 HelloWorld
co 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.
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