Username: Save?
Password:
Home Forum Links Search Login Register*
    News: Keep The TechnoWorldInc.com Community Clean: Read Guidelines Here.
Recent Updates
[April 24, 2024, 11:48:22 AM]

[April 24, 2024, 11:48:22 AM]

[April 24, 2024, 11:48:22 AM]

[April 24, 2024, 11:48:22 AM]

[April 03, 2024, 06:11:00 PM]

[April 03, 2024, 06:11:00 PM]

[April 03, 2024, 06:11:00 PM]

[April 03, 2024, 06:11:00 PM]

[March 06, 2024, 02:45:27 PM]

[March 06, 2024, 02:45:27 PM]

[March 06, 2024, 02:45:27 PM]

[March 06, 2024, 02:45:27 PM]

[February 14, 2024, 02:00:39 PM]
Subscriptions
Get Latest Tech Updates For Free!
Resources
   Travelikers
   Funistan
   PrettyGalz
   Techlap
   FreeThemes
   Videsta
   Glamistan
   BachatMela
   GlamGalz
   Techzug
   Vidsage
   Funzug
   WorldHostInc
   Funfani
   FilmyMama
   Uploaded.Tech
   MegaPixelShop
   Netens
   Funotic
   FreeJobsInc
   FilesPark
Participate in the fastest growing Technical Encyclopedia! This website is 100% Free. Please register or login using the login box above if you have already registered. You will need to be logged in to reply, make new topics and to access all the areas. Registration is free! Click Here To Register.
+ Techno World Inc - The Best Technical Encyclopedia Online! » Forum » THE TECHNO CLUB [ TECHNOWORLDINC.COM ] » Computer / Technical Issues » Operating Systems » Linux
  Automating Tasks in Linux using Cron
Pages: [1]   Go Down
  Print  
Author Topic: Automating Tasks in Linux using Cron  (Read 967 times)
Daniel Franklin
TWI Hero
**********


Karma: 3
Offline Offline

Posts: 16647


View Profile Email
Automating Tasks in Linux using Cron
« Posted: October 05, 2007, 05:43:52 PM »


Linux has a powerful task scheduler called Cron. Cron will allow you to run commands automatically at times specified by you. Cron is similar to the task scheduler you find in Windows. To keep track of the schedules and tasks it has to run, Cron requires a file called Crontab (CRON TABle). All the Cron schedules and tasks should be stored in this table. The Crontab files cannot be directly edited. You can add or delete entries in the crontab file using the crontab command.

What's Cron and Crontab ?

You must be wondering what the difference between cron and crontab or wether they are the same. Cron is a process or program which wakes up every minute and looks for jobs it has to execute at that moment. Crontab is the list of jobs and times at which they have to execute.

Crontab Format:

Each entry in Crontab has at least 6 fields separated by a single space. Field 1 Minute Range of Values : 0-59 Field 2 Hour Range of Values : 0-23 Field 3 Day Range of Values : 1-31 Field 4 Month Range of Values : 1-12 Field 5 Day of week Range of Values : 0-6 (Sunday being 0) Field 6 Command to Execute

Now let's see how to make a crontab entry. Let's say you want to run a script backup.sh every day at 6:00pm.The entry would look like this:

0 18 * * * /home/user/backup.sh

The asterisk (*) is used to indicate that every instance of the particular time period will be used (i.e. every hour, every weekday, etc.). I've used to full path to the script /home/user/backup.sh instead of just using backup.sh. This is because cron runs as root, you should fully qualify your path names to any scripts that will be run. Let's see some more examples :

* Let's run the script printinvoices.sh every sunday at 12:45pm.

45 12 * * 0 /home/account/printinvoices.sh

* How about clearaccount.sh every month beginning at 1:32am ?

21 1 1 * * /home/accont/clearaccount.sh

* Let's see how to schedule a task to run only on weekdays(monday to friday)

0 10 * * 1-5 /home/account/cleartemp.sh

Adding and Editing Entries in Crontab and Now that you know how crontab entries are formated, it's time to put some of your entries into the crontab list. To do this, you can use the crontab command. By specifying the -e option, you'll be taken to the default text editor to add and edit your crontab list. [crontab -e]


Another method of manipulating your crontab entries is to create and save a text file with your crontab entries. You can load your list into crontab by using the following command: [crontab mycrontablist] where mycrontablist is the file containing your entries.

Viewing Crontab: [crontab -l]

You can view your current crontab list by specifying the -l option. Issuing this command will print out a list of all your current jobs in the crontab list

Removing Crontab: [crontab -r]

The -r option removes your current crontab file. Issuing this command will empty the contents of the current user's crontab file

Output from cron

Usually the output of cron gets mailed to the owner of the process or the person or email id specified in the MAILTO variable. To set the MAILTO variable, you'll have to add the following command to the top of your crontab : MAILTO="[email protected]"

If you have a command that is run frequently, and you don't want the output to be emailed each time, you can redirect the output to a log file cmd >> log.file, so your job would be something like this.

0 18 * * * /home/user/backup.sh>>log.file

If you don't want any output at all, you can redirect the output to a null file : cmd>>/dev/null

0 18 * * * /home/user/backup.sh>>/dev/null

Articles Source - Free Articles
About the Author

Vinu Thomas is a consultant on Web design and Internet Technologies. His website is http://www.vinuthomas.com. You can read more articles on Linux @ http://www.vinuthomas.com/sections-listarticles-6.html

Logged

Pages: [1]   Go Up
  Print  
 
Jump to:  

Copyright © 2006-2023 TechnoWorldInc.com. All Rights Reserved. Privacy Policy | Disclaimer
Page created in 0.071 seconds with 25 queries.