Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Automating updates with cron

From: Drupal 6 Essential Training

Video: Automating updates with cron

During the installation process or while poking around Drupal's administration pages on your own, you might have noticed something like 'cron has not run' or 'To check for updates you may need to run cron,' or you might have installed the module that fetches information periodically from the Internet such as the news aggregator but then find that it's not working. That's because Drupal has to run certain system level processes periodically but requires an outside program to do so with the permissions required. That program is called cron, and we'll show you how to configure it to make Drupal happy. We will also tell you about a handy Drupal module called poormanscron which we will learn to install later in the course.

Automating updates with cron

During the installation process or while poking around Drupal's administration pages on your own, you might have noticed something like 'cron has not run' or 'To check for updates you may need to run cron,' or you might have installed the module that fetches information periodically from the Internet such as the news aggregator but then find that it's not working. That's because Drupal has to run certain system level processes periodically but requires an outside program to do so with the permissions required. That program is called cron, and we'll show you how to configure it to make Drupal happy. We will also tell you about a handy Drupal module called poormanscron which we will learn to install later in the course.

Essentially your goal is to force a visit to a certain Drupal page once in a while. That page is cron.php, which is spelled cron.php, and the file is located at the top of your Drupal directory. So by typing in your side address, in our case that's localhost followed by cron.php. We can visit that page; let's do that now. Looks like nothing happened, doesn't it? Well let's go back to our Drupal site and take a look at our administration pages and then go down to the Status report and we will see something here, cron maintenance tasks, Last run 12 sec ago. That was when we visited the cron.php page. So even though it doesn't have any interface back to us, it is doing something and what cron does maybe very important to your Drupal site.

Your goal is to make that process happen occasionally and automatically. cron is your tool. For Drupal users, the number one place for instructions on how to use cron is drupal.org/cron. There you will see all sorts of information about how to configure cron. There are essentially three ways to make cron run. The three ways to run cron are first by running it on your computer that is to say on the server. Secondly by using an outside cron helper such as webcron.org and third by using the module we mentioned earlier which is called poormanscron. We will show you once again how to install that module in another video in the series.

We will show you how to edit the cron in UNIX, for Windows users the task scheduler function is a good replacement for cron. A good explanation of how to use this function can be found at the drupal.org website. Follow the URL below for more information. In order to edit at UNIX, on the Mac you will have to go into a Terminal program, if you are using a Remote Server, you may have to use a Shell program. On the Mac we double-click on the Terminal program and from here we can enter commands as we like. The first thing that we need to do is find the program that's going to visit the cron page. In other words a text-based web browser.

The two big ones are called lynx and wget and there is also a curl. We will try finding each of these. In UNIX, you can do so by saying, whereis lynx. We don't seem to have that. So let's try whereis wget. Finally whereis curl. Aha! We do have curl. We take a note of that location which in this case is usr/bin/curl. Now that we know how we will visit that cron.php page on your Drupal site, we need to make it happen periodically.

cron is unusual, it relies on the precise configuration of a text file that you can't edit directly, and it's an obscure and obfuscated format. In UNIX you can figure cron through a command line interface which is called crontab. The way that we do that is by typing crontab-e which means edit and there it is. Right now our crontab is empty. I am going to tell you the exact keys to enter because we are now in a program called vi, you maybe using a different sort of editor on your server. Depending on which web browser you found whether it's lynx or wget or curl, you can find instructions on how to set up your crontab in the scripts folder which is inside your Drupal installation.

So I am going to go there right now. Inside here you will find some sample scripts since the one that we found was called curl, I am going to open that up. So here we have opened up the sample curl command then I am going to go back to my Terminal and enter that command. It's curl --silent --compressed and then we need to put in the address of the server, in this case instead of example.com, we say http://localhost/cron.php.

Now our job is not completely finished because although we have given the command we haven't yet set how frequently or when we want that command to be run. For that once again we can go back to the page on drupal.org, Configuring cron jobs, and it will give you a sense of how crontabs are setup. The way that it works is that there are five fields at the beginning, which stand for minutes, hours, days of the month, months of the year and then day of the week. We don't have to worry about any of those last four because we are going to want our cron to run at least once an hour.

So in this first field we will say at which point after the hour we want it to run. In this example that's given on drupal.org, it runs at 45 minutes after the hour. Let's go back to our example and make it happen also at 45 minutes after the hour. So 45 ****, you can also make it run much more frequently than that, for example every minute if you were to replace the 45 with 0-59. For other information about the various kinds of ways you can control cron, look on the cron page on the drupal.org website.

The second thing that we need to do is we have to tell our computer where exactly we are going to find that cron program. Now, you might remember that we had usr/bin/curl, well we enter that here /usr/bin/curl. So now we have entered when we want cron to run, what program we want it to run, what sort of options we want it to run with and again this was just copied from the text that's in that scripts folder and exactly where we want it to run. In order to get out of that we will hit Escape on our keyboard, then :wq if you are using VI. Again, if you are using a different editor you will use whatever commands you used to get out of that and hit Return.

Now we are told that we have installed the new crontab, and we are ready to go. Now we have installed cron, so our Drupal website will be updated at least once an hour, in our case it will happen at 45 minutes after each hour. It's unfortunate that something so critical to Drupal's operation is so hard to configure but the good news is you have one other option. If you go to webcron.org, this is an outside service that would let you set up a cron system on your Drupal site from an outside place. This is somewhat complex to set up as well and we won't go into all the details. If you are like me, speak English as your first language, the first thing you will want to do is click on the British flag down here and then follow the instructions.

The good news is once you have cron setup whether it's through webcron.org, poormanscron or the command line interface I gave you before; you pretty much never have to touch it again. Good luck!

Show transcript

This video is part of

Image for Drupal 6 Essential Training
Drupal 6 Essential Training

66 video lessons · 31388 viewers

Tom Geller
Author

 
Expand all | Collapse all
  1. 4m 38s
    1. Welcome
      50s
    2. Using the example files
      3m 48s
  2. 28m 55s
    1. Drupal is a CMS
      7m 43s
    2. Choosing Drupal
      5m 32s
    3. Checking Drupal's requirements
      4m 26s
    4. Understanding the inner workings of Drupal
      4m 35s
    5. Meeting the Drupal community
      6m 39s
  3. 11m 28s
    1. Learning key terms in Drupal
      5m 20s
    2. Touring Drupal's interface
      6m 8s
  4. 34m 35s
    1. Installing WAMP and Drupal on Windows
      9m 41s
    2. Installing MAMP
      4m 34s
    3. Setting up the database on a Mac
      2m 2s
    4. Downloading and installing Drupal on a Mac
      6m 37s
    5. Troubleshooting installation problems
      3m 49s
    6. Automating updates with cron
      7m 52s
  5. 25m 37s
    1. Setting up clean URLs
      5m 52s
    2. Backing up your Drupal site
      3m 31s
    3. Restoring your Drupal site from backup
      4m 19s
    4. Wiping your Drupal installation clean
      2m 7s
    5. Updating Drupal
      9m 48s
  6. 15m 37s
    1. Using the Administration menu
      6m 21s
    2. Setting site information
      4m 50s
    3. Setting the theme
      4m 26s
  7. 35m 8s
    1. Understanding security and permissions
      7m 2s
    2. Controlling site access with user management
      3m 39s
    3. Creating users
      7m 58s
    4. Setting user profiles
      9m 40s
    5. Creating contact forms
      6m 49s
  8. 19m 19s
    1. Creating your site's basic info pages
      7m 13s
    2. Understanding page layout
      5m 40s
    3. Creating a flexible layout with blocks
      6m 26s
  9. 15m 35s
    1. Monitoring performance
      4m 52s
    2. Recovering from disasters
      7m 37s
    3. Improving administration skills
      3m 6s
  10. 41m 3s
    1. Understanding nodes
      6m 50s
    2. Creating basic content: Stories and pages
      7m 9s
    3. Enabling other content types
      9m 22s
    4. Adding blogs
      3m 49s
    5. Adding forums
      6m 56s
    6. Adding polls
      6m 57s
  11. 34m 50s
    1. Exploring content categories
      7m 45s
    2. Exchanging content via RSS
      9m 47s
    3. Using input filters
      7m 41s
    4. Managing comments
      9m 37s
  12. 38m 5s
    1. Configuring your theme
      11m 27s
    2. Changing your theme's graphics
      4m 59s
    3. Finding and installing a new theme
      8m 56s
    4. Understanding Cascading Style Sheets (CSS)
      5m 56s
    5. Deciphering CSS files
      6m 47s
  13. 22m 41s
    1. Finding modules
      6m 53s
    2. Unpacking and installing modules
      6m 30s
    3. Configuring modules
      3m 50s
    4. Implementing complex modules
      5m 28s
  14. 32m 12s
    1. Ensuring automated updates with poormanscron
      3m 11s
    2. Defining custom content types with CCK
      12m 54s
    3. Stopping spam using a CAPTCHA
      10m 43s
    4. Using a WYSIWYG text editor
      5m 24s
  15. 22m 18s
    1. Getting around with multilevel menus
      7m 26s
    2. Building custom menus
      5m 42s
    3. Creating easy-to-navigate books
      9m 10s
  16. 20m 19s
    1. Changing page templates with PHP
      8m 15s
    2. Using PHP in content
      5m 20s
    3. Implementing PHP snippets
      6m 44s
  17. 10m 15s
    1. Launching your site
      5m 52s
    2. Joining the Drupal community
      4m 23s
  18. 14s
    1. Goodbye
      14s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Drupal 6 Essential Training.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.