Using WGET to run a cronjob PHP

146,538

Solution 1

You could tell wget to not download the contents in a couple of different ways:

wget --spider http://www.example.com/cronit.php

which will just perform a HEAD request but probably do what you want

wget -O /dev/null http://www.example.com/cronit.php

which will save the output to /dev/null (a black hole)

You might want to look at wget's -q switch too which prevents it from creating output

I think that the best option would probably be:

wget -q --spider http://www.example.com/cronit.php

that's unless you have some special logic checking the HTTP method used to request the page

Solution 2

wget -O- http://www.example.com/cronit.php >> /dev/null

This means send the file to stdout, and send stdout to /dev/null

Solution 3

I tried following format, working fine

*/5 * * * * wget --quiet -O /dev/null http://localhost/cron.php

Solution 4

If you want get output only when php fail:

php -r 'echo file_get_contents(http://www.example.com/cronit.php);'

This way you receive an email from cronjob only when the script fails and not whenever the php is called.

Solution 5

you can just use this code to hit the script using cron job using cpanel:

wget https://www.example.co.uk/unique-code
Share:
146,538
Abdullah Alsharif
Author by

Abdullah Alsharif

Updated on July 09, 2022

Comments

  • Abdullah Alsharif
    Abdullah Alsharif almost 2 years

    I tried to do a cron and run a url every 5 mintues.

    I tried to use WGET however I dont want to download the files on the server, all I want is just to run it.

    This is what I used (crontab):

    */5 * * * * wget http://www.example.com/cronit.php
    

    Is there any other command to use other than wget to just run the url and not downlaod it?

    • Matteo
      Matteo over 11 years
      Probably too late, but you could use curl, the default operation mode doesn't download, but is not always present on the servers.
    • Matthew G
      Matthew G about 11 years
      Yeah, curl definitely seems like a better solution than using wget.
  • Chris Jacob
    Chris Jacob over 12 years
    wget --quiet --spider --timeout=0 --tries=1 "http://www.example.com/cronit.php" - this is what I'm using to "ping" a long running php script... disclaimer I don't have much experience with wget or crontab so read the manual and test the solution in your own environment.
  • SPRBRN
    SPRBRN over 10 years
    I found that if I use the -q option, the script (on my server) is not executed, so I leave that out. When I run the script in the terminal, I see output, but does that result in problems when it's run in a cronjob? I guess not, but I may be wrong.
  • Robert Andrews
    Robert Andrews over 5 years
    Works for me, too, but a bit confused how --quiet and -O co-exist.