Как я могу запланировать, чтобы моя Java-программа (основной Java-файл) запускалась каждый день в определенное время? Я хочу запланировать это на сервере Linux, и то же самое для Windows?
8 ответов
Для Linux взгляните на задания cron.
Сначала установите cronjob, выполнив следующую команду:
# crontab -e
Чтобы выполнять работу ежедневно через 5 минут после полуночи, добавьте следующее:
5 0 * * * /path/to/command
Сохраните и закройте файл.
Для Windows взгляните на запланированные задачи.
Для Linux вы можете использовать cron, а для того же в Windows - кварцевый планировщик.
Посмотрите здесь примеры crontab.
вы можете использовать Quartz API для планирования ежедневных / своевременных заданий. Ниже приведена ссылка на Quartz API:http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/
Вы можете использовать Linux Cron, вы также можете прочитать хороший обзор здесь: http://www.ibm.com/developerworks/linux/library/l-job-scheduling/index.html
Также для планирования в Java-программе вы можете использовать Java-API, такие как класс Timer в Java-утилите, но лучше подходить с использованием таких сред планирования, как Quartz.
Вы можете запланировать свою Java-программу (задачу), используя службы операционной системы или Java.
1) Использование планировщика операционной системы
для Linux вы можете использовать Cron Jobs для планирования вашей программы
для Windows проверьте планировщик Windows
2) с помощью Java.
Вы можете использовать java.util.Класс таймера для планирования объекта TimerTask.
создать отдельную тему для таймерной задачи и запланировать ее с
Timer.schedule(TimerTask timertask, Datetime)
Поскольку все уже упомянули очевидные варианты CLI.
Linux: gnome-schedule:
apt-get install gnome-schedule
Windows: zcron: Скачать с: http://z-cron.com (используется уже много лет, очень эффективный продукт).
Mac: CronniX: Загрузить с: http://code.google.com/p/cronnix/
В Unix: вам нужно написать скрипт с расширением .sh: что-то простое, как
echo "start"
java usr/bin/MyClass
должно сработать
затем добавьте запись для запуска в crontab пользователя, с которым вы хотите запустить скрипт
В Windows: вам нужно создать файл bat (такой же, как сценарии с расширением .bat). Расписание в планировщике Windows
Пожалуйста, используйте следующие шаги: 1. Загрузите и настройте свое приложение для использования любого из продуктов Java-сервисов, я часто использую этот: http://wrapper.tanukisoftware.com/doc/english/download.jsp
планируйте свое программное обеспечение, используя любой из доступных API-интерфейсов планирования: cron4j (очень маленький и надежный, но не охватывает все возможные варианты использования), кварцевый планировщик, Rolls Royce для планирования, но теперь в тяжелом состоянии изучают Java 1.5 java.util.concurrent.ScheduledExecutorService и зарегистрируйте задание (Runnable или Future) в этом сервисе в зависимости от API (все могут использовать Runnable, некоторые поддерживают Future и добавлять свои собственные классы Job)
изучите синтаксис cron для использования любого из перечисленных API и запланируйте свою работу
Кварц может добавить множество функций с возможностью вето заданий, кластеризации и других расширенных тем.
HTH Джером