how to run a php script daily with the cron job on

2019-02-19 23:03发布

问题:

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

回答1:

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


回答2:

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


回答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



回答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.