Задание Cron для Java-программы - PullRequest
3 голосов
/ 22 октября 2011

Я использую Java-программу, которая отправляет электронную почту после завершения передачи файлов. Я использую Eclipse для кодирования программы.Как настроить задание cron для выполнения этой Java-программы в течение определенного времени.Также у меня есть различные jar-файлы внутри проекта.Пожалуйста, предложите

Ответы [ 4 ]

9 голосов
/ 22 октября 2011
  • Напишите сценарий оболочки для вызова вашей Java-программы с необходимыми аргументами.
  • Убедитесь, что аргумент classpath указывает на нужные вам файлы jar.
  • Убедитесь, что у сценария оболочки есть необходимые разрешения Unix.
  • Запланируйте сценарий для его запусканастройка задания cron.

Подробнее о cronjob смотрите здесь http://en.wikipedia.org/wiki/Cron

только мои 2 цента ...

5 голосов
/ 18 марта 2014

У r0ast3d есть быстрый и четкий ответ - мне пришлось еще немного поискать, чтобы выполнить каждый шаг, поэтому я уточню его шаги:

  1. Напишите сценарий оболочки для вызова вашей Java-программы с необходимыми аргументами. Пример:

    !/bin/bash
    echo "Running script."
    cd ~/your/classpath/to/java
    java -classpath .:somejar.jar path/to/your/Program
    

    Разделите необходимые пути к классам двоеточиями (:) вместо точек с запятой (;) Путь к вашей программе должен начинаться с вашего пакета (найдите его в верхней части Java-программы)

  2. Убедитесь, что аргумент classpath указывает на нужные вам фляги. Вы можете проверить свои операторы импорта в вашей Java-программе, чтобы убедиться, что вы указали все необходимые пути к классам. Вы должны запустить этот скрипт из своего каталога java и можете использовать один период (.) В качестве первого аргумента пути к классам.

  3. Убедитесь, что у сценария оболочки есть необходимые разрешения для Unix.

    Запуск с терминала: sudo chmod ### yourScript.sh

    Где ### - это числа, представляющие правильные разрешения для настройки вашей системы.

  4. Запланируйте запуск сценария, настроив задание cron.

    Запуск с терминала: crontab -e

    Откроется ваш редактор crontab. Вы можете добавить работу следующим образом:

    */5 * * * * bash /home/scripts/yourScript.sh

    Замените путь к скрипту на правильное местоположение вашего скрипта. Это задание запускается каждые 5 минут. См. http://www.adminschoice.com/crontab-quick-reference/ для хорошей ссылки на crontab.

Надеюсь, это кому-нибудь поможет!

4 голосов
/ 22 октября 2011

используйте кварц для более сложных задач или Таймер для более простых задач

2 голосов
/ 22 октября 2011

Есть библиотека cron4j http://www.sauronsoftware.it/projects/cron4j/. Я использовал ее раньше, чтобы запланировать еженедельную запуск Java-программы. Синтаксис планирования такой же, как у crontab. Дело в том, что он должен постоянно работать как фоновый процесс для работы. Я просто использовал обычный cron, но это может быть полезно, если вы не работаете в Unix-подобной системе и у вас нет cron.

...