Как использовать Crontab для файла Java в Linux

Я использую ncdu с этой целью на командной строке. Домашняя страница того инструмента включает список подобного программного обеспечения: http://dev.yorhel.nl/ncdu

На KDE существует Filelight, который делает подобное задание, но с немного отличающимся представлением.

enter image description here

2
05.11.2013, 09:35
1 ответ

Принятие этого JAVA-приложения является основанным на консоли приложением нет ничего по сути специального, которое необходимо сделать просто, потому что это - JAVA-приложение.

Если у Вас есть Java .class файл, запущенный приложение как так:

$ java HelloWorld

Если у Вас есть a .jar файл, выполненный applicaiton как так:

$ java -jar myapp.jar

Задание крона

Для создания или из вышеупомянутых методов, задание крона просто добавляет их к сценарию Bash и поместило тот сценарий в один из обозначенных crontab каталогов hte или просто добавь вышеупомянутую команду к crontab записи.

Примеры

  1. Создание сценария

    Вот сценарий, myjavawrapper.bash.

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

    Затем помещенный myjavawrapper.bash в одном из каталогов задания крона или системы crontab:

    $ 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 корень базируются 451 2 июня 12:10/etc/crontab drwxr-xr-x. 2 корня базируются 4096 12 августа 2011/etc/cron.weekly

  2. Добавьте запись в /etc/crontab

    Добавьте строку, такую как это в crontab файл:

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

    Вышеупомянутое будет работать java HelloWorld каждые 30 минут.

Вышеупомянутое является всего 2 методами, они не единственные методы. Это должно только дать некоторое представление Вам и подходам к тому, как выполнить задачу. Существует несколько других путей.

3
27.01.2020, 22:06
  • 1
    я не уверен если 30 * * * * будет работать каждые 30 минут. Не, который, как предполагают, был */30 * * * там? Я думаю команда, как это, будет работать в, например, 01:30 02:30 03:30 –  Valentin Bajrami 05.11.2013, 10:20
  • 2
    @val0x00ff - спасибо, Вы были бы корректны. Это выполняет его в 30 минут мимо часа. Я зафиксирую. –  slm♦ 05.11.2013, 10:27

Теги

Похожие вопросы