PHP-based crontab timed task management

Source: Internet
Author: User

PHP can not be scheduled to execute every day, only Java or C, because PHP is not access to the page will not move the code, but there is a way to the salvation of the curve

You write a page that you want to perform regularly every day, and then depending on your operating system, do timed tasks, regularly visit this page

    1. If it is windows, use the Task Scheduler feature

    2. If it's Linux, use cron for timed tasks and use Curl to access your page at timed times. The following I only post Linux solutions, because the general server is Linux, Windows people will

=========================linux Cron Getting Started ============================

Linux OS Timer task system Cron get started
Cron is a timed execution tool under Linux that can run a job without human intervention. Since Cron is a built-in service for Linux, it does not automatically get up, and you can start and shut down this service in the following ways:
/sbin/service Crond Start//Startup service
/sbin/service Crond stop//Shut down service
/sbin/service crond Restart//Restart service
/sbin/service Crond Reload//Reload Configuration
You can also start the service automatically when the system starts:
At the end of the/etc/rc.d/rc.local script, add:
/sbin/service Crond Start
Now cron This service is already in the process, we can use this service, Cron service provides the following kinds of interfaces for everyone to use:
1. Edit directly with crontab command
The Cron service provides the crontab command to set the Cron service, and here are some of the parameters and instructions for this command:
Crontab-u//Set a user's Cron service, which is usually required by the root user when executing this command
CRONTAB-L//list details of a user cron service
Crontab-r//Delete a cron service with no users
CRONTAB-E//Edit a user's cron service
For example, root to view your cron settings: Crontab-u root-l
Again, for example, Root wants to delete Fred's cron settings: Crontab-u fred-r
When editing the Cron service, the edited content has some formatting and conventions, input: Crontab-u root-e
Enter VI edit mode, the content of the edits must conform to the following format: */1 * * * * ls >>/tmp/ls.txt
Crond resident command for task scheduling
Crond is a command that Linux uses to execute programs on a regular basis. This task dispatch command is started by default when the operating system is installed. The Crond command periodically checks to see if there is any work to be done and the work will be performed automatically if there is work to be done.
1, the work of Linux task scheduling mainly divided into the following two categories:
* System execution: The work to be performed by the system periodically, such as backing up system data, cleaning up the cache
* Personal work: A user's regular work, such as checking the mail server for new letters every 10 minutes, can be set by each user.
2.crontab Command options:
-u Specifies a user,
-l lists a user's task schedule,
-R Deletes a user's task,
-e Edit a user's tasks
3.cron file Syntax:
Hour of the week order
0-59 0-23 1-31 1-12 0-6 Command (value range, 0 for Sunday One a row corresponds to a task)
4. Remember the meanings of several special symbols:
"*" represents a number in the range of values,
"/" stands for "every",
"-" represents a number to a number,
"," separate a few discrete numbers
I. How to set up a task scheduling file
The CRONTAB-E command can be used to edit, edit the corresponding user's cron file under/var/spool/cron, or modify the/etc/crontab file directly.
The specific format is as follows:
Minute Hour Day Month Dayofweek command
Minutes hours days months days per week order
Each field represents the following meanings:
Minute the first few minutes of every hour to perform the task
Hour the first few hours of the day to perform this task
Day of the month to perform the task
Month months of the year to perform this task
DayOfWeek the day of the week to perform the task
Command Specifies the program to execute
In these fields, except that "Command" is the field that must be specified each time, the other fields are optional fields, which can be determined visually. For a field that is not specified, "*" is used to fill its position.
Examples are as follows:
5 * * * ls Specifies the first 5 minutes of every hour to execute the LS command
5 * * * ls specifies the 5:30 execute LS command per day
7 8 * * ls specifies 7:30 minutes of 8th per month to execute the LS command
5 8 6 * ls specifies that the LS command be executed every June 8 5:30
6 * * 0 ls specifies 6:30 execute ls command per Sunday [Note: 0 for Sunday, 1 for Week 1, and so on, can also be expressed in English, Sun said Sunday, Mon for Monday and so on. ]
3 10,20 * * ls 3:30 for each month 10th and 20th executes the LS command [note: "," used to connect multiple discontinuous periods]
8-11 * * * ls command is executed at 25 minutes per day at 8-11 Pips [Note: "-" used to connect a continuous period of time]
*/15 * * * * ls is executed every 15 minutes with the LS command [i.e. No. 0 15 30 45 60 minutes per hour to execute the LS command]
6 */10 * ls command is executed every 10 days each month at 6:30 (that is, 1, 11, 21, 31st is 6:30 executes the LS command once. ]
Every day 7:50 executes all executables in the/etc/cron.daily directory as root
7 * * * Root run-parts/etc/cron.daily [Note: The Run-parts parameter indicates that all executables in the following directory are executed. ]
Second, the new scheduling task
There are two ways to add a dispatch task:
1, in the command line input: CRONTAB-E and then add the corresponding task, Wq save the disk to exit.
2, directly edit the/etc/crontab file, that is, vi/etc/crontab, add the corresponding task.
Third, view the scheduling task
Crontab-l//List all current Scheduled tasks
Crontab-l-u JP//List all scheduling tasks for user JP
Iv. Delete Task scheduling work
Crontab-r//Delete all task scheduling work
V. Steering of task Scheduling execution results
Example 1: Execute the LS command 5:30 every day and output the results to the/jp/test file
5 * * * ls >/jp/test 2>&1
Note: 2>&1 indicates execution results and error messages.
Edit/etc/crontab File Configuration cron
Cron service every minute not only to read all the files within/var/spool/cron, but also to read a/etc/crontab, so we configure this file can also use the Cron service to do something. The crontab configuration is for a user, while the edit/etc/crontab is a task for the system. The file format for this file is:
Shell=/bin/bash
Path=/sbin:/bin:/usr/sbin:/usr/bin
Mailto=root//If an error occurs, or if there is data output, the data is sent to this account as an email
home=///user-run path, here is the root directory
# Run-parts
* * * * * root run-parts/etc/cron.hourly//hourly execution of scripts within/etc/cron.hourly
4 * * * Root run-parts/etc/cron.daily//daily execution of scripts within/etc/cron.daily
4 * * 0 root run-parts/etc/cron.weekly//weekly execution of scripts within/etc/cron.weekly
4 1 * * Root run-parts/etc/cron.monthly//monthly to execute scripts within/etc/cron.monthly
Attention to the "run-parts" parameter, if you remove this parameter, you can write a script name to run, instead of the folder name
For example: 1, enter at the command line: CRONTAB-E then add the corresponding task, Wq save the disk to exit.
2, directly edit the/etc/crontab file, that is, vi/etc/crontab, add the corresponding task
2 * RM-RF/MNT/FB

PHP-based crontab timed task management

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.