Our PHP program sometimes needs to be executed periodically, we can use the Ignore_user_abort function or put JS on the page to let the user help us to achieve. But neither of these methods is reliable and unstable. We can use the Linux crontab tool to reliably trigger PHP to perform tasks.
Here are two ways to crontab.
First, use PHP to execute script in crontab
Just like calling a normal shell script in crontab (specific crontab usage), use a PHP program to invoke the PHP script.
Each hour executes myscript.php as follows:
- # CRONTAB-E
- XX * * * */usr/local/bin/php/home/john/myscript.php
/usr/local/bin/php is the path to the PHP program.
Second, use URL to execute script in crontab
If your PHP script can be triggered by a URL, you can use Lynx or curl or wget to configure your crontab.
The following example uses the Lynx text browser to access the URL to execute PHP scripts every hour. The Lynx text browser opens the URL by default using dialog. However, like the following, we use the-dump option in the Lynx command line to convert the output of the URL to standard output.
- XX * * * * lynx-dump https://www.centos.bz/myscript.php
The following example uses Curl to access the URL to execute PHP scripts every 5 minutes. Curl defaults to show output in standard output. With the "curl-o" option, you can also dump the output of the script to a temporary file.
- */5 * * * */usr/bin/curl-o temp.txt https://www.centos.bz/myscript.php
The following example uses the wget access URL to execute PHP scripts every 10 minutes. The-q option indicates quiet mode. "-O Temp.txt" indicates that the output is sent to a temporary file.
- */10 * * * */usr/bin/wget-q-o temp.txt https://www.centos.bz/myscript.php
Timed Auto-start Task crontab command usage
Operating system has its automatic Timer launcher function, Windows has its task plan, and Linux corresponding function is crontab.
Crontab Introduction
The crontab command is commonly used in Unix-and Unix-like operating systems to set instructions that are executed periodically. The command reads the instruction from the standard input device and stores it in a "crontab" file for later reading and execution. The word derives from the Greek language Chronos (Χρ?νος), which was originally meant to be time. Typically, crontab stored instructions are activated by the daemon, Crond often run in the background, checking every minute for scheduled jobs to be executed. This type of work is generally called cron jobs.
Crontab usage
The format of the crontab is as follows:
F1 F2 F3 f4 f5 program
Where F1 is expressed in minutes, F2 represents hours, F3 represents the day of the month, F4 represents the month, and F5 represents the day of the one week. program indicates the path to execute.
- When F1 is * indicates that every minute the program,f2 is executed, the program is executed every hour, and the rest of the analogy
- When the F1 is a-B, it is executed from the time of the minute to the minute of the hour, and the F2 is a-B indicating that it is executed from the first and the other, and the other analogy
- When F1 is */n, it is executed once every n minutes, F2 is */n for every n-hour interval, and the rest of the analogy
- When F1 is a, B, C,... A, B, C,... Minutes to execute, F2 for a, B, C,... The time indicated that the first, B, c ... Hours to execute, and the rest of the analogy
Admin login ssh, enter command crontab-e edit crontab file, enter and save according to the above format.
crontab Example
The/bin/ls is performed at the first 0 minutes of every day per month:
- 0 * * * */BIN/LS
In December, the/usr/bin/backup is performed every 20 minutes in the morning from 6 to 12 hours per day:
- */20 6-12 */usr/bin/backup
Monday to Friday every 5:00 send a letter to [email protected]:
- 0 * * 1-5 mail-s "HI" [email protected] </tmp/maildata
Every day at midnight 0:20, 2:20, 4:20 .... performing echo "haha"
- 0-23/2 * * * echo "haha"
Every two hours between 11 o'clock and 8 in the morning, 8 in the morning.
- 0 23-7/2,8 * * * Date
In HP Unix, every 20 minutes, it is represented as: 0,20,40 * * * * * instead of using */n mode, or syntax error occurs
Crontab usage is very easy to master, understand the use of crontab, the site and server maintenance to play a great help, such as scheduled backup, timing optimization server.
PHP Scheduled tasks: How to execute PHP scripts using Linux crontab