How can I schedule my java program(core java file) to run every day at a particular time? I want to schedule it in a Linux server and what is the same for Windows?
you can use Quartz API to Schedule your daily/On-Time Jobs. Following is the link for Quartz API: http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/
You can use linux Cron , yoy can also read good toturial in here: http://www.ibm.com/developerworks/linux/library/l-job-scheduling/index.html
also for scheduling in java program you can use java Api such as Timer class in java util but better approach using scheduling frameworks such as Quartz.
You can schedule your java program(task) using either Operating system services or using java.
1) Using Operating System Scheduler
for Linux, you can use Cron Jobs to schedule your program
for Windows, check the windows scheduler
2) using java.
you can use java.util.Timer class to schedule a TimerTask object.
make a separte thread for timertask and schedule it with
Timer.schedule(TimerTask timertask, Datetime)
please use the following steps: 1. download and configure your application to use any of the Java services products , I use frequently this one : http://wrapper.tanukisoftware.com/doc/english/download.jsp
schedule your software using any of the scheduling APIs available: cron4j (very small & reliable but does not cover all possible use cases) quartz scheduler , the rolls royce for scheduling but now heavyweight learn the Java 1.5 java.util.concurrent.ScheduledExecutorService and register a job (Runnable or Future) into this service depending from the API (all may use Runnable ,some support Future and add their own Job classes)
learn the cron syntax to use any of the listed APIs and schedule your job
Quartz may add a lot of features with vetoable jobs , clustering and other advanced topics
In Unix: You need to write a script with an .sh extension: something as simple as
echo "start" java usr/bin/MyClass
then add a entry to start it up under the crontab of the user you want to start the script with
In Windows: You need to create a bat file(same as scripts with .bat extension) Schedule in Windows Scheduler