Today we are going to run a PHP script on schedule, in other words, this PHP script should be executed in certain period of time. This could be any script you want, it can be used to send email to your users, make changes to your file system or database, crawl a website, etc. Running a script on schedule has a lot of benefits because it does the job automatically, without you worrying about it.
We’re gonna be able to achive this using:
- PuTTy – a secure shell or terminal emulator used to access remote systems over the internet.
- Cron – the time based job scheduler in unix-like operating systems which powers most servers today.
- cURL – a command line tool for getting and sending files using URL syntax. This is usually installed already in your server.
You can skip step 1, 2 and 3 if you know how to log in using PuTTy.
If you don’t have PuTTy in your computer, you can download it here, choose putty.exe if you’re on windows.
Run putty.exe, it will look like this:
- Arrow # 1 is where you’re gonna put your host name or IP address of your server.
- Arrow # 2 is the button you’re gonna click (or you can simply press enter) immediately after entering your server host name of IP address.
You’ll be asked to enter your server username and password. It looks like this:
You should be in the crontab, type: crontab -e and press enter. By the way, a crontab is a simple text file in your server with a list of commands meant to be run at specified times, more info here.
It will list the the cron jobs (not yet editable)
To make it editable, you should press the “insert” button on your keyboard.
On my example above, the cron runs two php script every one minute via cURL. A brief explanation:
# MIN HOUR MDAY MON DOW COMMAND
*/1 * * * * curl http://mydomain.com/myphp_script.php
MIN – Minute 0-60
HOUR – Hour [24-hour clock] 0-23
MDAY – Day of Month 1-31
MON – Month 1-12 OR jan,feb,mar,apr…
DOW – Day Of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND – Command to be run Any valid command-line
After you’re done editing, press the “Esc” key on your keyboard to exit from the edit mode. It will again look like this:
To exit cron tab, you should type: :wq and press enter.
Then it will look like this:
That’s it! Our PHP scripts will be executed every one minute!