Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
The aim of the update is to run a java program. I have written a shell script to run the program and this program has been added to the cron job to run it daily. If the program is called from the command line, it is working fine without any errors. But it is not working when executed from cron. But when I checked with the cron log, it is showing that the job has been run at the scheduled time. But i never found the output of the program.
I would be really thankful if anyone could help me with this.
cron runs with a different environment to your normal login shell. It could be that it can't find something in your path, or your JAVA_HOME settings, etc can't be found. Try outputting the results (stdout & stderr) to a file in /tmp or piping them to an email to find out where it's going wrong.
I tried outputting a msg(the msg is "Worked") to a file to check if the cron job executed successfully. i am getting outputs to the file. So its confirmed that cron is trying to execute the line.
Also that the cron job is executed as root. So for root user, the particular command is working fine !!!!
Outputting a message will demonstrate that the cron job is run but won't highlight what is missing. Have you tried using full paths to the commands being run, ie /usr/local/jdk/bin/java (or whatever your path is) instead of just java?
This is the entry in cron job. I am getting the file temm.log, updated at the scheduled time. But the shell script does not seem to work thru cron. Whereas it is working fine with the command prompt.
@bittus, we'd need to see the shell script. However as hinted above, the cron env is minimal to say the least, so you need to specify complete absolute paths for all cmds/progs and files used.
The script also needs to set (or source) any env variables used.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.