This week's giveaway is in the Threads forum.
We're giving away four copies of Java Concurrency Live Lessons and have Doug Schmidt on-line!
See this thread for details.
Win a copy of Java Concurrency Live Lessons this week in the Threads forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Running Java Program as Cron job.  RSS feed

 
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
Sheriff
Posts: 36463
464
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: 992
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
Bartender
Posts: 18531
61
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.
 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!