wget is usually used to download a file or web page via HTTP, so by default running the
wget http://www.example.com/myscript.php would simply create a local file called
myscript.php and it would contain the contents of the script output. But I don't want that -- I want to execute the script and optionally redirect its output somewhere else (to a log file or into an email for reporting purposes). So here is how it's done:
$ wget -O - -q http://www.example.com/myscript.php >> log.txt
According to the
wget man page, the "
-O -" option is used to prevent
wget from saving the file locally and instead simply outputs the result of the request. Also,
wget normally produces it's own output (a progress bar showing the status of the download and some other verbose information) but we don't care about that stuff so we turn it off with the "
-q" option. Lastly, the "
>> log.txt" redirects the output of the script to a local file called
log.txt. This could also be a pipe command to send the output as an email.
There is an incredible amount of power behind
wget and there are a lot of cool things you can use it for besides calling PHP scripts from the command line. Check out this LifeHacker article for a bunch of cool uses.