how to run a php script daily with the cron job on Ubuntu os
Solution 1
You can use crontab to add/remove/edit cronjobs.
Hit Alt+Ctrl+T to open terminal.
First make sure the script is executable by running:
chmod +x YOURSCRIPT
Then run the following command to add your cronjob:
crontab -e
Add your cronjob like this:
0 * * * * /usr/local/bin/php path/of/php/file
That's it!
Your can check the current user's crontab entries by running:
crontab -l
For more information about crontab run:
crontab --help
OR
man crontab
Solution 2
To find out what is wrong with your cron you can type the following command in your terminal:
grep -i "cron1.php" /var/log/syslog
The syslog contains all log of crons.
Try run the code /usr/bin/php5 -q /var/www/cronjobs/cron1.php
on terminal to check if there are errors.
You can also redirect all errors to a file:
0 * * * * /usr/bin/php5 -q /var/www/cronjobs/cron1.php 2> /tmp/errorCron1.txt
Solution 3
Make Script File /etc/scripts/cron.sh with contain
cd /var/www/
/usr/bin/php cron.php
Save it then
chmod +x cron.sh
then go on /etc/crontab
15 15 * * * root /etc/scripts/cron.sh
save it and wait
Solution 4
This is the description of crontab arguments
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
0 2 12 * * /usr/bin/find
To Run your script every hour use below crontab entry.
0 */1 * * * /usr/bin/php5 -q /var/www/cronjobs/cron1.php
This way your script will start executing every hour.
Admin
Updated on April 12, 2020Comments
-
Admin about 4 years
command to runI am using ubuntu 12 and lamp server . I want to run a php script after every 1 hour . i have create a crontab to execute this and if i check my cron list with command crontab -l it is showing like this
# Edit this file to introduce tasks to be run by cron. 0 * * * * /usr/bin/php5 -q /var/www/cronjobs/cron1.php # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any').# # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command
this is my php script
0 * * * * /usr/bin/php5 -q /var/www/cronjobs/cron1.php
but it is not executing
how can i check why it is not working , please help