> using crontab -e i have created the crontab file and gave the
> specified time and commands.
> Then when i start crond its says cant' lock pid....
> Other wise can anyone tell me how to put shell script in crontab.
1. Write a shell script in a secure location. For example, assume that
your script is /usr/local/bin/myscript.sh
2. Make sure that its owner and group is root and root respectively.
chown root.root /usr/local/bin/myscript.sh
This step is not essential, but useful to keep the script tamper proof
provided next step is also followed.
3. Make sure that it is executable.
chmod 755 /usr/local/bin/myscript.sh
4. Run "crontab -e" as the user who is intended to execute the script.
In the editor window, enter data in the following format (for further details
read crontab manual by running "man 5 crontab")
minute hour day_of_month month day_of_week /usr/local/bin/myscript.sh
For testing purpose, set up execution time a few minutes from current time.
Usually cron daemon is started during system startup. You don't have to
start it explicitly. Run "ps -ax | grep cron | grep -v grep" to check whether
cron is running already.
5. Check the mail of the user as whom the script was getting executed.
The mail will contain the output, if any, generated from the script. Usually
these mails are stored in /var/mail directory.
Special care should be taken to write scripts running as root. The ownership
and permission of all the scripts or other executables are of extreme
importance to avoid unintended security holes in your setup. The security
aspects of shell script or any other executable can't be discussed in a short
mail like this. Refer some good books on secure programming or search on
the Net.
Raghu