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.
Step 1
If you don’t have PuTTy in your computer, you can download it here, choose putty.exe if you’re on windows.
Step 2
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.
Step 3
You’ll be asked to enter your server username and password. It looks like this:
Step 4
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)
Step 5
To make it editable, you should press the “insert” button on your keyboard.
Now you can edit your cron jobs or schedules, there are so many tutorials on how to construct a cron job, you can find some here and here.
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
Step 6
After you’re done editing, press the “Esc” key on your keyboard to exit from the edit mode. It will again look like this:
Step 7
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!
Fine tutorial. It helped me a ton.
You’re welcome @disqus_v5DruJSKJt ! Glad our tutorial helped you a ton!
Awesome! it’s pretty simple. but how can I see the cron log?
Hi @Fahmi, you can always ask your web hosting provider about how to do it.
Good tutorial..helps a lot
Thanks @web_developer_in_bangalore! Please share our site to one of your friends if you have time, thank you!
how i can edit an already defined cron job?
Great tutorial, except I’m using bash. I couldn’t get it to work.
So essentially this is what I did,
—-
crontab -e
then in the editor typed */1 * * * * /home/ed/cron_test.txt
where the cron_test.txt is a bash script executable.
—–
I was hoping to see the print out from the cron_test every minute.. but it doesn’t work.
thank you so much… its working…. :)
You’re welcome @SAMNAD, thanks for telling us this tutorial still works! :D
thankks for nice tut
Hey @hycng, you’re welcome!