Linux OS Timing Task system

Source: Internet
Author: User

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 execution of the LS command per Sunday [Note: 0 means Sunday, 1 means Week 1, and so on, can also be expressed in English, Sun says Sunday, Mon indicates Monday such as ]

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


Linux OS Timing Task system

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.