Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Running Java Program as Cron job.

 
Nisanth Reddy
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


The above is the content of my .sh file which i have configured in crontab as below.


It is creating an empty file "ipmonitor.log". But, the java program is not running.


And, where can we find the logs for cron jobs if my app is throuwing error.


Sereking help on this
Thank you..

 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34178
340
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Nisanth,
Welcome to CodeRanch!

I typically redirect the output in the crontab file itself.
* * * * * /nav/apps/jobs/runJobs.sh >> /nav/apps/jobs/runJobs.log

I'm not sure since I don't use it, but I believe the default logs are in /var/logs/cron or a system log in that same file.
 
Ivan Jozsef Balazs
Rancher
Posts: 972
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The crontab stuff runs in a rudimentary environment: .profile is not executed.
Do you take care of the standard error? Is java on the PATH?
 
Tim Holloway
Saloon Keeper
Pie
Posts: 18091
48
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Cron typically has its own logfile (my distro uses /var/log/cron) and it also may email logs to the cron job owner.

The most important thing to realize when setting up for cron operation is that the cron job itself will not be executing in the warm, comfortable, friendly environment that you'd have when executing the same function as a normal user. So it's best to be careful about what environmental settings you assume are in effect, don't assume you know what your current directory is until (/if) you set it, and access everything via absolute paths. Especially scripts and programs.

In your specific case, you might also be running afoul of the normal mechanisms that keep the /tmp directory clean. I recommend that any log you want to be sure stays around is written to a less volatile location. For system-level cron tasks, the recommended place to put logs is under /var/log. If your service produces more than 1 logfile, make a subdirectory under /var/log to put them all in.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic