Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Cron.

Talk:Cron

From MoodleDocs

For setting-up cron using the Windows scheduler, a simpler way (avoiding the use of wget) is to set the task to run PHP instead (see the performance documentation). To do this set the run command as c:\php\php.exe -f f:\moodle\admin\cron.php. Several assumptions about paths here: php is installed in c:\php and moodle is installed on drive F:, so adjust to suit your own setup. Ken Wilson 20:04, 16 August 2006 (WST)

Cron for dummies

Hi all, I looked for a forum link on this page that will take one to a forum that work with cron, it would really help for dummies like myself, i posted the server code and when i posted it gave me this error msg "/tmp/crontab_ecoach":0: bad minute errors in crontab file, can't install but i dont see any problem with it Steven Putter

Ditto Steven's comments. I am not seeing any clues as to where I set cron to run. Of course I also am a real dummy. I suspect is on the webhost but this needs to be explicit at the top for us who are not the brightest lightbulb in the pack and are doing things beyond our current abilities:) --Chris collman 05:56, 20 May 2008 (CDT)

Cron on Cpanel

Ok so I found it after some looking. My Cpanel (hostmonster.com May 2008) looks different that the screenshot. Moodle seemed to install a slightly different cron job for me

The instructions say: Command: wget -q -O /dev/null http://www.mydomain.com/moodle/admin/cron.php

My hosting service cpanel cron schedule 1st and only entry says:

cd '/home/mydomain/public_html/moodle/admin/' ; /ramdisk/bin/php5 -q 'cron.php' > /dev/null ;

Humm cd (change directory to) /home/mydomain/public_html/moodle/admin (similar to the http address) ; ramdisk (where php5 resides or uses for cache? This is different)-q (in both so OK)cron.php (the file to run in ../admin) > (put output to) /dev/null .

--Chris collman 06:21, 20 May 2008 (CDT)

Since wget is being used to run the cron.php script anyway, you can really run this ANYWHERE

It is important to note that since the cron.php script is not run internally by Moodle, but by an outside interaction, you can really run a cron job on ANY server that runs the cron.php on your Moodle installation.

So, for example, if you have a Moodle install at an ISP that does not let you run cron jobs, but you have, say, a DSLline at home, you can use any of your Linux computers at home to run cron. (you do use Linux at home, right? :)

And the beauty of it is, the crontab line is *exactly* the same as listed in the main article. It just points to an outside URL.

Now, I mention this because at one point I had configured a server to run Moodle but, in the interest of security, I did not have wget available on the server. (cron was available, but not wget).

Well, the easiest thing to do was to just run a cron job somewhere else.

Alrighty, seeyalater!

Update and clarify

  • The whole cronclionly vs. shell invocation vs. "using wget" is completely misleading.
    • while you can call cron.php using a web browser or a command line web "browser" like wget, curl, lynx from outside or inside the server. The latter commands can be scripted, e.g. to be called by cron.
    • the "cronclionly" checkbox restricts the call to cron.php to calling it from inside the server and only using "bin/php". This can be scripted to be called by cron, as well.
  • It should be said somewhere that using e.g. the "www-data" user in e.g. /etc/cron.d/moodle is far better than using /etc/crontab which is executed by root. AFAICS this is nowhere mentioned.