| Cron Tutorial (Crontab Tutorial) |
Cron Tutorial sponsored by cgi-installation-guide.com.
What is cron?
Actually it is called 'cron daemon'.
Cron is an automatic task machine. You will use it on your Unix or
Linux operating systems for doing some tasks at specific
intervals with out your intervention every time. You set the clock and
forget. The cron daemon runs the work for you.
What is cron tab?
'Cron tab(CRON TABle)' is a text file that contains a series of cron
functions.
What cron will do for you?
>>>If you want to send your email cources to
your subscribers at 11.30 night, you will set the cron job on your server.And
your cron manager sends the one email every day at 11.30
until all the emails will be finished.
If you want to send them on Sundays, you can schedule it with your
cron.
>>>You can schedule it to delete your website
members with expired accounts.
>>>You can schedule it to recieve an update on
your subscribers from your mailing list manager.
>>>You can check your links on other websites
in link exchange programms.
Have your webserver cron enabled?
Have you seen any icon like this?

OR

OR
Have you seen a text link like 'Cron Manager' or 'Cron jobs'?
If you see one, then you are cron enabled.
Ask your host about your cron availability. Some host allows cron
with out graphical interface. You have to access it through telnet.
If you are hosted on Virtual hosting domains then your system
administrator has to set up your cron tabs for you.
What are the components of cron?
=Field====Value====Description=
minute====00-59====exact minute the cron executes
hour======00-23====hour of the day the cron executes(0 means midnight)
day=======01-31====day of the month the cron executes
month=====01-12====month of the year the cron executes
weekday===00-06====day of the week the cron executes(Sunday = 0, Monday = 1, Tuesday = 2, and so forth)
command===Special==complete sequence of commands to execute
Examples how to set cron:
If you have installed a cgi script in your cgi-bin directory
called members.cgi and wanted to run this program each night as
11.30 PM as in above example.
You would setup the following crontab line:
30 23 * * * /home/username/www/cgi-bin/members.cgi
30--represents the minute of cron work
23--represents the hour of the day
The * represent every day, month, and weekday.
If you want to set the cron job every sunday at midnight
11.30 PM then it would be like:
30 23 * * 0 /home/username/www/cgi-bin/members.cgi
0--represents the Sunday.
If you want the cron job to run at 1:00 and 2:00 A.M then you can set
it like:
* 1,2 * * * /home/username/www/cgi-bin/members.cgi
This runs your cron at 1 and 2 A.M every day, every month and every week.
If you want to run the above task only from Monday to Friday then
set it like:
* 1,2 * * 1-5 /home/username/www/cgi-bin/members.cgi
Setting up the cron:
You will be in one of these situations.
ONE:This would be your first cron tab function.
SECOND:You already have cron tab file on your server running
one or more cron functions for you.
In any of the above two situations you can further proceed by
TWO METHODS.
METHOD ONE:Using Cron tab manager:
If you have a cron tab manager
in your webpanel, it will be easy for you to set the cron tab function.
You can click on the icon to open cron manager.
There will be some box like
text area where you can enter the the perl file path that you want to run the cron job.

Your cron manager may be
different but basically it is easy to set up cron job with your cron
manager. I highly recommend this unless you want to get to know about
the Second Telnet Method.
METHOD TWO:Uploading 'cron.txt' file and checking using telnet:
|
Cron Commands:
crontab filename Install filename as your crontab file. On many systems, this command is executed simply as crontab filename (i.e., without the -a option).
crontab -e Edit your crontab file, or create one if it doesn't already exist.
crontab -l Display your crontab file.
crontab -r Remove your crontab file.
crontab -v Display the last time you edited your crontab file. (This option is only available on a few systems.)
|
How to do it?
Basically FOUR steps:
- Create cron.txt
- Upload
- Install the txt file as cron file with the command 'crontab cron.txt'
- Check your cron file
1. Open your notepad on your computer and write cron job
following the guidelines explained above under 'What are the components
of cron?'. For example - If you write your cron job like this:
30 23 * * * /home/username/www/cgi-bin/members.cgi
After writing the above cron job PRESS return key so that a blank
line will be there below the cron job line.
2. Always use absolute path for the command line. Turn off the
'Word Wrap' feature with the Notepad.
3. Save the file as 'cron.txt'. Upload it to your root directory ('/').
Or ask your webhost where to upload the cron files. Upload in
ASCII mode.

4. Now telnet into your server. (Access easy to follow telnet
tutorial, cgi tutorial, cgi debugging tutorial, My sql tutorial and many more...)
5. At command prompt type -
crontab cron.txt
Press Enter.
You will be back at command prompt.
Then type (Small L):
crontab -l
Press Enter.
You will see the list of cron jobs that you have entered in cron.txt.

That's it!!
Cron emails you everytime it runs. How to stop it?
Add this tag at the end of your cron job:
>/dev/null 2>&1
Taking the above example your cron job looks like:
30 23 * * * /home/username/www/cgi-bin/members.cgi>/dev/null 2>&1
TIPS in setting up your cron jobs:
>>>Ask your host about the procedure if you
are not sure of a thing.
>>>Check your cron once in a while.For
example you set your cron to send your ezine at 11.30 PM.
Then you subscribe yourself to see it is working or not. Later you
can unsubscribe yourself.
>>>If you are creating cron file first time
and uploading it to your server, do it in ASCII mode.
>>>If you are setting the script path in
your schedule, the path SHOULD be from your hosts server root. NOT
your domain path.
Ex:/home/user/www/cgi-bin/scriptname.cgi
is correct.
http://www.yourdomain.com/cgi-bin/scriptname.cgi
is incorrect.
>>>Script names are case sensitive on Unix.
So be careful in entering the script name.
>>>If you are creating cron.txt file and
uploading, you should not allow spaces within 1-5 components except
between them. (For example 10,30 * * * * is correct not
10 ,30 * * * *)
|