Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
Your first line should have a slash in front of bin:
#!/bin/sh
You should verify /bin/sh is the one you want - on many systems it is a symbolic link to another shell (e.g. bash or dash) and sometimes shells (e.g. dash) don't do things the way you think they do in other shells.
Most of your errors stem from the common problem in cron and other background jobs: That is that the environment variables are not set the same way they are when you run from a login session. Cron has a very minimal environment. The main variable you need is PATH as that tells it where to find commands. If you notice in your output it says it can't find various commands.
You can set variables in the script for example:
export PATH=/oracle/bin:/bin:/usr/bin:/onlygodknows/bin:$PATH
Alternatively you can put the full path of commands in the script for example:
/bin/tar -cvzf inst.tar.gz inst
-NOT JUST-
tar -cvzf inst.tar.gz inst
There may be other variables you need to set. For example if it were Oracle you'd need to set things like ORACLE_HOME so that the sql commands you ran knew the Oracle environment.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.