HostGator Web Hosting Help
Cron Job Basics
Summary
This article will provide an overview of what Cron Jobs are. If you are unfamiliar with Cron Jobs, please read this carefully as Cron Jobs are a more advanced feature of your account. If you are familiar with Cron Jobs and simply want instructions on using Cron Jobs, please refer to this list of Cron Job articles:
- Cron Job Basics
- Setup, Remove, or Edit a Cron Job
- Crons Running at Specific Date and Time
- Specify a Cron Job to use a Specific php.ini File
- Cron Jobs with PHP and other File Types
What is a Cron Job?
A Cron Job is a Linux command for scheduling a task (command). Cron Jobs allow you to automate certain commands or scripts on your server to complete repetitive tasks automatically.
This can be a very resourceful tool as a Cron Job can be set to run by 15 minute or hourly increments, a day of the week or month, or any combination of these. HostGator limits Cron Jobs on shared servers to run in increments no less than every 15 minutes as excessive Cron Jobs can cause unnecessary loads on the server.
For example, you could set a Cron Job to delete temporary files every week so that your disk space is not being used up by unnecessary files. Some scripts, such as Drupal, may even require you to set up a Cron Job to perform certain functions.
WARNING! It is important that you familiarize yourself with how Cron Jobs work. You need to have a good knowledge of Linux commands before you can use Cron Jobs effectively.
Check your script with your hosting administrator before adding a Cron Job.
For most Cron Jobs, there are three components present:
- The script that is to be called or executed.
- The command that executes the script on a reoccurring basis. This is typically set in the cPanel.
- The action or output of the script, which depends on what the script being called does. Frequently, scripts called as a Cron Job modify files or databases, however they can perform other tasks that do not modify data on the server, like sending out email notifications.
Cron Job Environment
- The initial working directory for the process is your home directory.
- Because the processes are run in a non-interactive shell, .bashrc and other startup files are not read.
- Only /usr/bin and /bin will be checked for the specified executable. Executables in other directories must be specified as absolute paths, such as /ramdisk/bin/php5 or relative paths, such as ./my_program.
- When running a script, the interpreter must be specified either in a valid #! line using a full path or at the command line.
- File arguments must be specified with absolute paths, or paths relative to the current working directory.
For additional information on Cron Jobs, use the following resources:
http://en.wikipedia.org/wiki/Cron (Basic)
http://www.unixgeeks.org/security/newbie/unix/cron-1.html (Advanced)